当前位置: 首页 > news >正文

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: httptimeout: 30shttp:valid_http_versions: ["HTTP/1.1", "HTTP/2"]   valid_status_codes: [200]  # 这里最好作一个返回状态码,在grafana作图时,有明示---陈刚注释。method: GETpreferred_ip_protocol: "ip4"http_post_2xx:     # http post 监测模块prober: httptimeout: 10shttp:valid_http_versions: ["HTTP/1.1", "HTTP/2"]method: POSTpreferred_ip_protocol: "ip4"tcp_connect:   # TCP 检测模块prober: tcptimeout: 10s
EOF

重启blackbox-exporter

编辑Promethues配置文件

  - job_name: 'blackbox_http_2xx'metrics_path: /probeparams:module: [http_2xx]  #配置get请求检测static_configs:- targets:- https://xxx.cnrelabel_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: 30smetrics_path: /probeparams:module: [tcp_connect]static_configs:- targets:- xxx.cn:4433relabel_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模板推荐

9965 SSL TCP HTTP综合监控

image

AlertManager

alertmanager告警配置如下

  • SSL证书小于30天发送告警
  • HTTP状态非200告警
- name: Blackbox 监控告警rules:- alert: BlackboxSlowProbeexpr: avg_over_time(probe_duration_seconds[1m]) > 1for: 30mlabels:severity: warningannotations:summary: telnet (instance  $labels.instance ) 超时1秒description: "VALUE =  $value n  LABELS =  $labels "- alert: BlackboxProbeHttpFailureexpr: probe_http_status_code <= 199 OR probe_http_status_code >= 400for: 30mlabels:severity: criticalannotations:summary: HTTP 状态码 (instance  $labels.instance )description: "HTTP status code is not 200-399n  VALUE =  $value n  LABELS =  $labels "- alert: BlackboxSslCertificateWillExpireSoonexpr: probe_ssl_earliest_cert_expiry - time() < 86400 * 30for: 30mlabels:severity: warningannotations:summary:  域名证书即将过期 (instance  $labels.instance )description: "域名证书30天后过期n  VALUE =  $value n  LABELS =  $labels "- alert: BlackboxSslCertificateWillExpireSoonexpr: probe_ssl_earliest_cert_expiry - time() < 86400 * 7for: 30mlabels:severity: criticalannotations:summary: 域名证书即将过期 (instance  $labels.instance )description: "域名证书7天后过期n VALUE =  $value n  LABELS =  $labels "- alert: BlackboxSslCertificateExpiredexpr: probe_ssl_earliest_cert_expiry - time() <= 0for: 30mlabels:severity: criticalannotations:summary: 域名证书已过期 (instance  $labels.instance )description: "域名证书已过期n  VALUE =  $value n  LABELS =  $labels "- alert: BlackboxProbeSlowHttpexpr: avg_over_time(probe_http_duration_seconds[1m]) > 10for: 30mlabels:severity: warningannotations:summary: HTTP请求超时 (instance  $labels.instance )description: "HTTP请求超时超过10秒n  VALUE =  $value n  LABELS =  $labels "      

重启prometheus

http://www.gsyq.cn/news/111471.html

相关文章:

  • IT 岗位简历模板哪里下载?精选 10 个免费在线简历网站(附使用建议)
  • 12月13日总结 - 作业----
  • 基于Vue的家政预定服务系统w23ow(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
  • npm 流行包分类汇总
  • Java 线程状态详解:从观察到理解
  • 气候异常频发下如何稳产保收?R语言建模提供科学依据(稀缺方法公开)
  • 如何实现私有化Dify实时资源监控?这4种方案最有效
  • 工业用自动反冲洗过滤器推荐厂家——降低运营成本的关键 - 速递信息
  • 【生产环境避坑指南】:Docker Offload优先级误配导致服务雪崩的真实案例
  • 我为啥做不出题??
  • 触摸板直接点击无反应解决办法(由deepseek产生)
  • Dify 1.7.0音频切片怎么配?揭秘专业级配置流程与避坑要点
  • 高职510221信创系统技术应用专业产教协同育人解决方案
  • 人工智能内容整理提纲
  • 2025互联网AI岗位爆发:开发/产品/运维核心技能冲突与CAIE认证指南
  • 路易波拿巴的雾月十八日 (马克思) _没记录
  • 如何在7天内掌握R语言代谢组分析?资深生信专家的进阶路线图曝光
  • Clion+STM32配置环境-DESKTOP-65G5ROL
  • 2020-12-17-xtx的日常开发日记-DESKTOP-65G5ROL
  • 手搓RPC框架系列(二):核心功能实现与架构原则应用
  • QT实现点击某个菜单项切换软件主板内容
  • 使用蚁剑连接一句话木马远程控制小皮
  • 新能源汽车的类型及其核心技术详解
  • (Dify Tesseract 更新机制终极指南):构建高可用AI应用的基石
  • 揭秘Dify重排序算法:如何选择最优模型提升搜索相关性?
  • 2025模温机厂家推荐排行榜:非标定制与专业服务
  • 为什么90%的企业还没意识到Dify解密算法对文档安全的颠覆性威胁?
  • 【架构师亲授】:Docker MCP 网关服务注册的7大最佳实践
  • 【高危漏洞预警】:忽视Dify权限校验导致数据越权访问的5大案例
  • arm中的ros项目交叉编译,一整套 业务级、完整、可直接用 的交叉编译 + rootfs 同步 + 自动上传 + 自动运行脚本 (未完全解决编译问题,大概编译到7%的时候报错,出现的问题应该在原)