简介
blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http、dns、tcp、icmp 的监控数据采集。
Blackbox_exporter 应用场景主要有以下几点:
- HTTP 测试
定义 Request Header 信息
判断 Http status / Http Respones Header / Http Body 内容 - TCP 测试
业务组件端口状态监听
应用层协议定义与监听 - ICMP 测试
主机探活机制 - POST 测试
接口联通性 - SSL 证书过期时间
部署
1、下载监控插件
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.18.0/blackbox_exporter-0.18.0.linux-amd64.tar.gz
2、解压
cd /usr/local/src
tar -xf blackbox_exporter-0.18.0.linux-amd64.tar.gz
mv blackbox_exporter-0.18.0.linux-amd64 blackbox_exporter
chown -R root:root /usr/local/src/blackbox_exporter
3、启停服务
注意:启动参数
–config.file=“blackbox.yml” #blackbox_exporter的配置文件
–web.listen-address=":9115" #blackbox_exporter监听的服务端口
cd /usr/local/src/blackbox_exporter #进入blackbox_exporter的目录
mkdir logs #创建日志目录
nohup ./blackbox_exporter >> logs/blackbox_exporter.log 2>&1 & #启动服务
netstat -tanlp | grep 9115 #查看监听端口
ps -ef |grep blackbox_exporter |grep -v grep |awk '{print $2}' | xargs kill -9 #停止服务
4、在Prometheus中添加配置(/usr/local/src/prometheus/prometheus.yml)
#监控zk集群端口
- job_name: 'zk'
scrape_interval: 2m
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets: ["192.168.16.7:2181"]
labels:
instance: 'port_status'
group: 'tpc_zookeeper'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.16.7:9115
5、校验配置,重载服务
cd /usr/local/src/prometheus/
./promtool check config prometheus.yml #检查配置文件是否正确
curl -XPOST http://192.168.16.115:9090/-/reload #重载服务