Blackbox_Exporter

Blackbox Exporter是一个用于黑盒情况下探测服务状态的一个工具。在Exporter内部,定义了一系列执行特定检查的模块,例如,检查Web服务器是否正在运行,DNS记录是否解析,通过ICMP检查ping目标的结果等。

Blackbox EXporter下载地址arrow-up-right

安装

Linux

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.22.0/blackbox_exporter-0.22.0.linux-amd64.tar.gz

tar -zxf blackbox_exporter-0.22.0.linux-amd64.tar.gz

cp blackbox_exporter-0.22.0.linux-amd64/blackbox_exporter /usr/bin/

cat > /etc/systemd/system/blackbox_exporter.service << EOF
[Unit]
Description=Blackbox Exporter Daemon

[Service]
ExecStart=/usr/bin/blackbox_exporter --config.file=/etc/blackbox_exporter.yml
User=root
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

blackbox.yml配置文件示例

服务控制及验证

将Blackbox Exporter配置为systemd管理之后就可以使用systemctl命令来进行服务管理

通过浏览器访问http://ip:9115即可浏览控制台

通过http://ip:9115/probe?module=http_2xx&target=www.baidu.com格式即可看到检测信息

在Prometheus中调用Blackbox Exporter

编辑Prometheus的配置文件prometheus.yml,添加如下内容

relabel_configs配置解释: 通过三重标记来实现Prometheus获取检测网站的信息

  • 第一重新标记通过将__address__标签(当前目标的地址)写入__param_target标签来创建参数;

  • 第二个重新标记将__param_target标签写入instance标签;

  • 最后,使用exporter的主机名(ip:9115)来重新标记__address__标签,

通过http_2xx.json文件来管理要检测的http服务 http_2xx.json文件按如下格式依次填写对应要检测的域名即可

tcp_connect.json

最后更新于