如何搭建 Blackbox Exporter 实现网络协议监控实战

阿雪同学_6849

阿雪同学_6849

2026-06-28

948人浏览

原创

blackbox exporter 是 prometheus 官方提供的轻量级黑盒监控工具,支持 http、tcp、icmp、dns 等协议主动探测,通过模拟用户行为判断服务连通性、响应延迟及证书有效期等核心健康状态。

如何搭建 blackbox exporter 实现网络协议监控实战

直接部署 Blackbox Exporter 并接入 Prometheus,就能实现对 HTTP、TCP、ICMP、DNS 等协议的主动探测监控。它不依赖目标服务内部状态,只模拟真实用户行为,快速回答“服务通不通”“响应快不快”“证书有没有过期”这类关键问题。

一、部署 Blackbox Exporter 服务

Blackbox Exporter 是单二进制文件,轻量且无依赖:

  • 从 Prometheus 官方 GitHub 发布页 下载最新稳定版(如 v0.25.0),解压后得到 blackbox_exporter 可执行文件
  • 准备配置文件 config.yml,定义常用探测模块(HTTP、TCP、ICMP 等),例如:
modules:
  http_2xx:
    prober: http
    timeout: 5s
    http:
      valid_status_codes: [200, 204]
      method: GET
      headers:
        User-Agent: "monitoring/blackbox"
  tcp_connect:
    prober: tcp
    timeout: 3s
  icmp:
    prober: icmp
    timeout: 2s
  • 启动服务:./blackbox_exporter --config.file=config.yml --web.listen-address=:9115
  • 验证是否运行:访问 http://localhost:9115 查看状态页;调用探测接口测试,如:
    curl "http://localhost:9115/probe?module=http_2xx&target=https%3A%2F%2Fexample.com",应返回 Prometheus 格式指标

二、在 Prometheus 中配置抓取任务

编辑 Prometheus 的 prometheus.yml,添加 scrape job 指向 Blackbox Exporter 的 /probe 接口:

MemoleCard
MemoleCard

一款AI办公效率工具,主要用于MemoleCard魔卡:以AI之力,让知识共享成为美学之旅,适合需要提升相关任务效率的用户。

下载
  • 确保 static_configs 或服务发现机制能列出待监控的目标(如域名、IP、端口)
  • 每个 target 需通过 URL 参数指定 module 和 target,例如:
scrape_configs:
  - job_name: 'blackbox-http'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
          - https://api.example.com/health
          - https://www.company.com
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9115
  • 重启 Prometheus 后,在 Web UI 的 Status → Targets 页面确认 job 状态为 UP
  • 在 Graph 页面输入 probe_success{job="blackbox-http"},可查看各目标最近一次探测是否成功(1=成功,0=失败)

三、配置实用监控指标与告警

Blackbox 返回的核心指标已覆盖多数场景,无需二次开发:

  • probe_success:判断连通性,建议设置连续 3 次失败才触发告警
  • probe_duration_seconds:响应耗时,可用于识别慢响应或超时(如 >2s 告警)
  • probe_http_status_code:检查状态码是否符合预期(如非 200/204 即异常)
  • probe_ssl_last_expired_at:配合 PromQL 计算剩余天数,提前 15 天预警证书过期
  • probe_dns_lookup_time_seconds:DNS 解析延迟突增可能预示解析服务异常或污染

在 Alertmanager 中配置示例规则(写入 alert.rules.yml):

groups:
- name: blackbox-alerts
  rules:
  - alert: HttpProbeFailed
    expr: probe_success{job="blackbox-http"} == 0
    for: 3m
    labels:
      severity: critical
    annotations:
      summary: "HTTP probe failed for {{ $labels.instance }}"
  - alert: SSLCertExpiresSoon
    expr: probe_ssl_last_expired_at{job="blackbox-http"} - time() 

四、典型实战场景配置要点

不同协议探测需关注各自关键配置项:

  • HTTP 探测:启用 no_follow_redirects: false 跟踪跳转链;用 fail_if_matches_regexp 检查响应体是否含错误关键词;加 Host 请求头适配虚拟主机
  • TCP 探测:适用于数据库端口(如 3306)、Redis(6379)等;可开启 tls_config 验证 TLS 握手是否成功
  • ICMP 探测:适合主机存活检查;注意 Linux 需赋予 cap_net_raw 权限:sudo setcap cap_net_raw+ep blackbox_exporter
  • DNS 探测:指定 dns_query_name 和 dns_query_type(如 A、AAAA、TXT),验证记录准确性与响应时间

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Grafana重置admin密码
Grafana重置admin密码

本专题整合了grafana admin密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.09.02

2094

12

Grafana admin密码
Grafana admin密码

本专题整合了Grafana密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.12.09

710

9

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

100

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

300

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习