Prometheus Blackbox域名SSL证书监控并设置AlertManager告警

blackbox exporter 是prometheus社区提供的黑盒监控解决方案,运行用户通过HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测(主动监测主机与服务状态)。

  • HTTP 测试
    定义 Request Header 信息
    判断 Http status / Http Respones Header / Http Body 内容
  • TCP 测试
    业务组件端口状态监听
    应用层协议定义与监听
  • ICMP 测试
    主机探活机制
  • POST 测试
    接口联通性
  • SSL 证书过期时间

安装Blackbox exporter

复制代码
docker run -d -p 9115:9115 --name blackbox_exporter -v /root/prometheus/blackbox_exporter:/config prom/blackbox-exporter:master --config.file=/config/blackbox.yml

写入配置

复制代码
cat >/root/prometheus/blackbox_exporter/blackbox.yml<<EOF
modules:
  http_2xx:  # http 检测模块  Blockbox-Exporter 中所有的探针均是以 Module 的信息进行配置
    prober: http
    timeout: 30s
    http:
      valid_http_versions: ["HTTP/1.1", "HTTP/2"]   
      valid_status_codes: [200]  # 这里最好作一个返回状态码,在grafana作图时,有明示---陈刚注释。
      method: GET
      preferred_ip_protocol: "ip4"
  http_post_2xx:     # http post 监测模块
    prober: http
    timeout: 10s
    http:
      valid_http_versions: ["HTTP/1.1", "HTTP/2"]
      method: POST
      preferred_ip_protocol: "ip4"
  tcp_connect:   # TCP 检测模块
    prober: tcp
    timeout: 10s
EOF

重启blackbox-exporter

编辑Promethues配置文件

复制代码
- job_name: 'blackbox_http_2xx'
    metrics_path: /probe
    params:
      module: [http_2xx]  #配置get请求检测
    static_configs:
      - targets:
        - https://xxx.cn
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox_exporter:9115  #blackbox地址和端口号
        
  - job_name: 'blackbox_tcp_connect' # 检测某些端口是否在线
    scrape_interval: 30s
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets:
        - xxx.cn:4433
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox_exporter:9115 # blackbox-exporter 服务所在的机器和端口

Grafana 配置

Grafana模板推荐

16292

AlertManager

alertmanager告警配置如下

  • SSL证书小于30天发送告警

  • HTTP状态非200告警

    • name: Blackbox 监控告警
      rules:
      - alert: BlackboxSlowProbe
      expr: avg_over_time(probe_duration_seconds[1m]) > 1
      for: 30m
      labels:
      severity: warning
      annotations:
      summary: telnet (instance labels.instance ) 超时1秒 description: "VALUE = value n LABELS = labels " - alert: BlackboxProbeHttpFailure expr: probe_http_status_code <= 199 OR probe_http_status_code >= 400 for: 30m labels: severity: critical annotations: summary: HTTP 状态码 (instance labels.instance )
      description: "HTTP status code is not 200-399n VALUE = value n LABELS = labels "
      - alert: BlackboxSslCertificateWillExpireSoon
      expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 30
      for: 30m
      labels:
      severity: warning
      annotations:
      summary: 域名证书即将过期 (instance labels.instance ) description: "域名证书30天后过期n VALUE = value n LABELS = labels " - alert: BlackboxSslCertificateWillExpireSoon expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 7 for: 30m labels: severity: critical annotations: summary: 域名证书即将过期 (instance labels.instance )
      description: "域名证书7天后过期n VALUE = value n LABELS = labels "
      - alert: BlackboxSslCertificateExpired
      expr: probe_ssl_earliest_cert_expiry - time() <= 0
      for: 30m
      labels:
      severity: critical
      annotations:
      summary: 域名证书已过期 (instance labels.instance ) description: "域名证书已过期n VALUE = value n LABELS = labels " - alert: BlackboxProbeSlowHttp expr: avg_over_time(probe_http_duration_seconds[1m]) > 10 for: 30m labels: severity: warning annotations: summary: HTTP请求超时 (instance labels.instance )
      description: "HTTP请求超时超过10秒n VALUE = value n LABELS = labels "

重启prometheus

相关推荐
黑桃小柒77 小时前
小,最终显示为TCP WINDOW FULL,TCP ZeroWindow。 仔细分析了下LWIP源码,还以为是内存管理出了问题,跟 ...
网络·网络协议·tcp/ip
网络研究院8 小时前
LastPass 发布紧急安全预警:针对主密码的活跃网络钓鱼攻击正在进行中
网络·安全·黑客·攻击·漏洞·风险·钓鱼
便利店10249 小时前
TCP 为什么有时故意跑不快?拥塞控制与滑动窗口一次讲清
服务器·网络协议·tcp·拥塞控制
向夏威夷 梦断明暄10 小时前
【高效管理token成本】OpenClaw精细化分库管理memory以减少token成本的方案的可行性研究
网络
酷可达拉斯12 小时前
Linux操作系统-免密登录远程操作系统
linux·运维·服务器·网络·云计算
aixingkong92113 小时前
AI超节点Scale Up域总线各层优化设计
linux·服务器·网络
组合缺一15 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·服务器·网络协议·http·solon
瓦学妹16 小时前
为什么您的AI总是显示“不支持的区域”?如何解决?
大数据·网络·人工智能
优化Henry16 小时前
5G站点软件错误告警与资源激活超时两类典型告警分析与处理
网络·笔记·学习·5g·信息与通信
coward9116 小时前
千兆以太网卡(Ethernet)驱动初始化完成,但是无法udhcpc获取ip
服务器·网络·嵌入式硬件·tcp/ip