Prometheus监控之Blackbox Exporter(二)

blackbox_exporter介绍

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

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

安装部署blackbox_exporter

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

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

导入要监控的域名和端口

告警配置

- 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 @ 2024-11-27 19:56  w787815  阅读(82)  评论(0编辑  收藏  举报