白盒与黑盒监控是什么
白盒监控采集系统内部数据:应用暴露的指标、中间件运行状态、主机资源,用来回答「为什么出问题」;黑盒监控从外部按用户路径探测(HTTP、TCP、DNS、ICMP),回答「服务现在能不能用」。两者不是取舍关系而是配合关系:黑盒告警先触发,说明用户路径已受损,再用白盒数据下钻定位内部瓶颈,可以避免内部指标抖动造成告警轰炸。
基本信息
| 白盒覆盖 | 应用指标、日志、链路、主机与中间件资源 |
|---|---|
| 黑盒覆盖 | 拨测与合成请求,校验状态码与响应内容 |
| 典型工具 | Prometheus 采集 + blackbox_exporter 探测 |
| 配合方式 | 黑盒作入口告警,白盒作定位依据 |
典型使用场景
- 入口可用性:从多个地域探测主要域名与关键接口
- 健康检查反例:健康接口正常但下单接口故障,需要业务路径探测兜底
- 变更验证:发布后探测关键路径,确认用户侧无异常
- 外部依赖观测:探测第三方接口的可用性与响应时间
- 兜底门禁:所有内部告警正常时,黑盒仍能发现整体不可用
blackbox_exporter 探测模块
blackbox_exporter 探测模块
modules:
http_2xx: # 名称可自定义,抓取时用参数选择
prober: http
timeout: 5s
http:
preferred_ip_protocol: ip4
fail_if_not_ssl: false
http_business: # 业务路径探测,校验关键字
prober: http
timeout: 5s
http:
valid_status_codes: [200]
fail_if_body_not_matches_regexp:
- "orderId" # 内容断言,比只看状态码可靠两类监控对照
| 维度 | 白盒 | 黑盒 |
|---|---|---|
| 观测视角 | 系统内部状态 | 用户可达性 |
| 主要用途 | 定位原因与容量判断 | 发现不可用与体验劣化 |
| 常见信号 | 应用指标、日志、链路 | 探测成功率与耗时 |
| 失效原因 | 埋点缺失或采集中断 | 探测点网络问题造成误判 |
| 告警优先级 | 通常作为诊断依据 | 直接对应用户影响,优先触发 |
探测目标应覆盖用户真实入口:域名、负载均衡地址、关键业务接口,只探测健康检查接口会出现「探测全绿、用户全挂」的情况。
探测点单一容易把网络抖动误判成业务故障,多地探测再加结果聚合,能把探测源自身问题与真实故障区分开。