blackbox-exporter项目地址:https://github.com/prometheus/blackbox_exporter
blackbox-exporter是Prometheus官方提供的一个黑盒监控解决方案,可以通过HTTP、HTTPS、DNS、ICMP、TCP和gRPC方式对目标实例进行检测。可用于以下使用场景:
黑盒监控和白盒监控:
黑盒监控,关注的是实时状态,一般都是正在发生的事件,比如网站访问不了、磁盘无法写入数据等。即黑盒监控的重点是能对正在发生的故障进行告警。常见的黑盒监控包括HTTP探针、TCP探针等用于检测站点或者服务的可访问性,以及访问效率等。
白盒监控,关注的是原因,也就是系统内部的一些运行指标数据,例如nginx响应时长、存储I/O负载等
监控系统要能够有效的支持白盒监控和黑盒监控,通过白盒能够了解系统内部的实际运行状态,以及对监控指标的观察能够预判出可能出现的潜在问题,从而对潜在的不确定因素进行提前处理避免问题发生;而通过黑盒监控,可以在系统或服务发生故障时快速通知相关人员进行处理。
下载软件包
https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
上傳安裝包
cd /tmp
解壓安裝包
mkdir -p /opt/blackbox_exporter/ tar -zxvf blackbox_exporter-0.24.0.linux-amd64.tar.gz -C /opt/blackbox_exporter
創建軟連接
ln -s blackbox_exporter-0.24.0.linux-amd64 /opt/blackbox_exporter/latest
systemctl方式開機啟動配置
創建node_exporter.service
vim /lib/systemd/system/blackbox_exporter.service
輸入以下內容:
[Unit] Description=Prometheus Blackbox Exporter After=network.target [Service] Type=simple User=root Group=root ExecStart=/opt/blackbox_exporter/latest/blackbox_exporter --config.file=/opt/blackbox_exporter/latest/blackbox.yml --web.listen-address=:9115 Restart=on-failure [Install] WantedBy=multi-user.target
啟動
systemctl daemon-reload systemctl start blackbox_exporter.service systemctl enable blackbox_exporter.service systemctl status blackbox_exporter.service
查看
curl 127.0.0.1:9115
注意
注意檢查防火墻9115
端口是否開放
修改Prometheus配置,添加Job,内容如下:
- job_name: 'blackbox_web_check' # web站点检测 scrape_interval: 10s metrics_path: /probe file_sd_configs: - files: - /opt/prometheus/latest/targets/blackbox-web-check.yml refresh_interval: 5s params: module: [http_2xx] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 172.18.25.87:9115 # blackbox-exporter 服务所在的机器和端口 - job_name: 'blackbox_api_get_check' # 接口返回内容检测 scrape_interval: 10s metrics_path: /probe file_sd_configs: - files: - /opt/prometheus/latest/targets/blackbox-api-get-check.yml refresh_interval: 5s params: module: [http_2xx] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 172.18.25.87:9115 # blackbox-exporter 服务所在的机器和端口 - job_name: 'blackbox_api_post_check' # 接口返回内容检测 scrape_interval: 10s metrics_path: /probe file_sd_configs: - files: - /opt/prometheus/latest/targets/blackbox-api-post-check.yml refresh_interval: 5s params: module: [http_post_2xx_with_body_params] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 172.18.25.87:9115 # blackbox-exporter 服务所在的机器和端口 - job_name: 'blackbox_port_check' # 端口检测 scrape_interval: 10s metrics_path: /probe file_sd_configs: - files: - /opt/prometheus/latest/targets/blackbox-port-check.yml refresh_interval: 5s params: module: [tcp_connect] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 172.18.25.87:9115 # blackbox-exporter 服务所在的机器和端口 - job_name: 'blackbox_ping_check' # 检测是否可以ping通某些机器 scrape_interval: 10s metrics_path: /probe file_sd_configs: - files: - /opt/prometheus/latest/targets/blackbox-ping-check.yml refresh_interval: 5s params: module: [icmp] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 172.18.25.87:9115 # blackbox-exporter 服务所在的机器和端口
配置修改完成后重启Prometheus。然后在界面查看target状态。
systemctl restart prometheus.service
访问blackbox-exporter界面查看数据
參考:https://blog.csdn.net/weixin_43266367/article/details/129110541
本文作者:澳门🇲🇴上班的IT人
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!