黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发生时,黑盒监控能快速发现故障,而白盒监控则侧重于主动发现或者预测潜在的问题。一个完善的监控目标是要能够从白盒的角度发现潜在问题,能够在黑盒的角度快速发现已经发生的问题。
Blackbox Exporter是Prometheus社区提供的官方黑盒监控解决方案,其允许用户通过:HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。
1.下载blackbox_exporter墨盒监控:
https://github.com/prometheus/blackbox_exporter
2.配置blackox_exporte
2.1 部署blackox_exporte
1 | tar xf downloads/blackbox_exporter-0.14.0.linux-amd64.tar.gz |
运行blackbox_exporter的服务器需要以root用户运行或开启 CAP_NET_RAW功能,这里开启该功能
1 | sudo setcap cap_net_raw+ep blackbox_exporter/blackbox_exporter |
2.2 配置blackox_exporte
1 | cat blackox_exporter/blackbox.yml |
2.3 启动blackox_exporte
1 | /work/admin/blackbox_exporter/blackbox_exporter --config.file=/work/admin/blackbox_exporter/blackbox.yml |
2.4 使用supervisor管理进程
1 | [program:blackbox_exporter_product] |
3.prometheus配置
3.1 icmp监控
1 | scrape_configs: |
3.2 http监控
1 | - job_name: 'blackbox_product_http' |
3.3 post监控
1 | - job_name: 'blackbox_product_post' |
3.4 tcp监控
1 | - job_name: 'blackbox_aftertreatment_tcp' |
3.5 dns监控
1 | - job_name: 'blackbox_aftertreatment_dns' |
3.6 重启prometheus
重启之前检查下配置文件有没有错误
1 | ./promtool check config prometheus.yml |
如果开启了api管理功能,可以如下方式热加载配置
1 | curl -X POST http://127.0.0.1:9090/-/reload |
4.grafana出图
推荐使用9965
上图监控面板我经过一些改动,仅供参考