编辑
2024-03-17
Prometheus
0
请注意,本文编写于 458 天前,最后修改于 458 天前,其中某些信息可能已经过时。

目录

blackbox-exporter简介
部署blackbox-exporter
blackbox-exporter实现url监控

blackbox-exporter简介

blackbox-exporter项目地址:https://github.com/prometheus/blackbox_exporter

blackbox-exporter是Prometheus官方提供的一个黑盒监控解决方案,可以通过HTTP、HTTPS、DNS、ICMP、TCP和gRPC方式对目标实例进行检测。可用于以下使用场景:

  • HTTP/HTTPS:URL/API可用性检测
  • ICMP:主机存活检测
  • TCP:端口存活检测
  • DNS:域名解析

黑盒监控和白盒监控:

  • 黑盒监控,关注的是实时状态,一般都是正在发生的事件,比如网站访问不了、磁盘无法写入数据等。即黑盒监控的重点是能对正在发生的故障进行告警。常见的黑盒监控包括HTTP探针、TCP探针等用于检测站点或者服务的可访问性,以及访问效率等。

  • 白盒监控,关注的是原因,也就是系统内部的一些运行指标数据,例如nginx响应时长、存储I/O负载等

监控系统要能够有效的支持白盒监控和黑盒监控,通过白盒能够了解系统内部的实际运行状态,以及对监控指标的观察能够预判出可能出现的潜在问题,从而对潜在的不确定因素进行提前处理避免问题发生;而通过黑盒监控,可以在系统或服务发生故障时快速通知相关人员进行处理。

部署blackbox-exporter

下载软件包

image.png

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

image.png

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

image.png

注意

注意檢查防火墻9115端口是否開放

blackbox-exporter实现url监控

修改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

image.png

访问blackbox-exporter界面查看数据

image.png

參考:https://blog.csdn.net/weixin_43266367/article/details/129110541

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:澳门🇲🇴上班的IT人

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!