一、 概述

前言

在建设接口管理平台,需要对所有接口的连通性进行检测,监测平台接口情况,进行统计和预警,因接口数量众多,且后续可能也会进行可视化展示和分析,决定使用prometheus监控体系进行监测。前后调研和实验最终决定方案如下,进行记录和分享

架构示意图

blackbox_exporter模块

blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http、dns、tcp、icmp 的监控数据采集,可用于检测接口连通性

Consul 实现target动态化

因 Prometheus添加 target默认使用文件方式进行配置,只适用于固定target方式,针对需要动态新增检测目标的情况,官方提供了多种目标发现的支持,考虑到可以使用API进行灵活添加数据,选用Consul作为服务发现中间件。

二、安装和配置

安装Consul

下载地址:https://www.consul.io/downloads

下载后进行解压 启动

./consul agent -dev -ui -node=consul-dev -client=192.168.119.128 -advertise 192.168.119.128

随后访问 http://ip:8500/ 可以进入web管理界面

通过API方式管理服务

我新增一个 http://10.10.3.27:81服务用于测试

curl -X PUT -d

'{

"id":"testnode",

"name":"test",

"address":"10.10.3.27",

"port":81,"tags":["prometheus-target"],

"checks":[{"http":"10.10.3.27:81","interval":"15s"}]

}'

http://192.168.119.128:8500/v1/agent/service/register

删除服务的请求为

curl -X PUT http://192.168.119.128:8500/v1/agent/service/deregister/{id}

也可在Consul web看到服务情况

安装blackbox_exporter

下载地址: https://prometheus.io/download/ 下载后解压,进入文件夹后 直接运行 ./blackbox_exporter 默认监听端口为9115

编辑prometheus.yml 加入blackbox_exporter配置

- job_name: 'blackbox_http_2xx' # 配置get请求检测

scrape_interval: 30s

metrics_path: /probe

params:

module: [http_2xx]

consul_sd_configs:

#consul 地址

- server: '192.168.119.128:8500'

relabel_configs:

- source_labels: [__address__]

target_label: __param_target

- source_labels: [__param_target]

target_label: instance

- target_label: __address__

replacement: 192.168.119.128:9115

注意:172.19.155.133:9115 为blackbox_exporter的服务地址

重启prometheus

访问http://ip:9990/api/v1/query?query=probe_success 返回如下:

{

"status": "success",

"data": {

"resultType": "vector",

"result": [

{

"metric": {

"__name__": "probe_success",

"instance": "10.10.3.27:81",

"job": "blackbox_http_2xx"

},

"value": [

1650266997.219,

"1"

]

},

{

"metric": {

"__name__": "probe_success",

"instance": "192.168.119.128:8300",

"job": "blackbox_http_2xx"

},

"value": [

1650266997.219,

"0"

]

}

]

}

}

得到 instance 10.10.3.27:81的连接状态 为 “1”,处于活动状态

可以安装grafana后进行数据可视化监控

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: