Prometheus监控之Blackbox Exporter(二)

blackbox_exporter介绍

blackbox_exporter 是 Prometheus 官方提供的一个 exporter, 可以监控 HTTP、HTTPS,、 DNS、 TCP 、 ICMP 等目标实例, 从而实现对被监控节点进行监控和数据采集。

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

安装部署blackbox_exporter

1
2
3
4
5
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz
 
tar -zxvf blackbox_exporter-0.23.0.linux-amd64.tar.gz
 
mv blackbox_exporter-0.23.0.linux-amd64/ /usr/local/blackbox_exporter

使用systemd管理blackbox_exporter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat /etc/systemd/system/blackbox_exporter.service
[Unit]
Description=Prometheus Blackbox Exporter
After=network.target
 
[Service]
Type=simple
User=prometheus
Group=prometheus
 
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter \
--config.file=/usr/ocal/blackbox_exporter/blackbox.yml \
--web.listen-address=:9115
Restart=on-failure
 
[Install]
WantedBy=multi-user.target
 
# 启动
systemctl daemon-reload
systemctl start blackbox_exporter
systemctl enable blackbox_exporter 

Consul Manager安装

使用Consul管理Blackbox站点监控
部署说明文档:https://github.com/starsliao/TenSunS/tree/main

部署完以后登陆

 配置Blackbox_Exporter

1. 配置Blackbox_Exporter
  • 在Web页面点击Blackbox 站点监控/Blackbox 配置,点击复制配置
  • 编辑blackbox_exporter的blackbox.yml,清空已有的配置,把复制的内容粘贴进去,重启blackbox_exporter。
2. 配置Prometheus
  • 在Web页面点击Blackbox 站点监控/Prometheus 配置,点击复制配置
  • 编辑Prometheus的prometheus.yml,把复制的内容追加到最后,reload或重启Prometheus。
3. 配置Prometheus告警规则
  • 在Web页面点击Blackbox 站点监控/告警规则,点击复制配置
  • 编辑Prometheus的rules.yml,把复制的内容追加到最后,reload或重启Prometheus。
4. 查看Prometheus
  • 在Prometheus的Web页面中,点击Status-Targets,能看到新增的Job即表示数据同步到Prometheus。
5. 导入Blackbox Exporter Dashboard
  • 支持Grafana 8,基于blackbox_exporter 0.19.0设计
  • 采用图表+曲线图方式展示TCP,ICMP,HTTPS的服务状态,各阶段请求延时,HTTPS证书信息等
  • 优化展示效果,支持监控目标的分组、分类级联展示,多服务同时对比展示。
  • 导入ID:9965
  • 详细URL:https://grafana.com/grafana/dashboards/9965

导入要监控的域名和端口

告警配置

1
2
3
4
5
6
7
8
9
10
11
- name: Domain
  rules:
  - alert: 监控项异常
    expr: probe_success == 0
    for: 10s  # 告警持续时间,超过这个时间才会发送给alertmanager
    labels:
      severity: 严重告警
    annotations:
      #summary:  "{{ $labels.env }}_{{ $labels.name }}({{ $labels.project }}):{{ $labels.instance }} 异常"
      summary:  "{{ $labels.project }}{{ $labels.env }}_{{ $labels.name }}:{{ $labels.instance }} 异常"
      description:  "已经10秒无法连接,请前往服务器查看。"

  

posted @   w787815  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示