使用Prometheus+Blackbox Exporter监控时部分数据点出现HTTP状态码0求助
网络链路临时波动
目标实例无异常不代表探测链路绝对稳定,Blackbox Exporter到目标节点的网络可能存在瞬间丢包、路由抖动或运营商链路临时故障。可以在Blackbox部署机器上用mtr 目标域名/IP持续跟踪链路质量,同时检查防火墙、安全组是否有基于流量阈值的短时拦截规则。探测超时配置过短
若目标服务偶尔出现响应延迟,超过Blackbox的超时限制会导致请求被强制中断,返回状态码0。检查blackbox.yml中http_probe的timeout参数,默认10s,可适当调高测试:http_probe: timeout: 15sDNS解析间歇性失败
Blackbox所在机器的DNS服务器可能偶尔解析失败,导致无法建立连接。在机器上循环执行dig 目标域名或nslookup 目标域名,观察是否有解析超时/失败的情况,也可切换至本地DNS服务器测试。TLS握手异常(HTTPS场景)
目标服务证书轮换期间可能出现短暂兼容性问题,或Blackbox的TLS配置不兼容目标加密套件。可临时开启insecure_skip_verify排查是否为证书问题:http_probe: tls_config: insecure_skip_verify: true若问题消失,再针对性调整TLS套件配置。
刮取周期与探测节奏不匹配
若Prometheus的scrape_interval短于Blackbox的探测超时时间,可能抓取到未完成的探测请求结果,出现状态码0。确保Prometheus刮取间隔大于等于Blackbox的超时配置。Blackbox进程异常
查看Blackbox Exporter的日志(如journalctl -u blackbox_exporter),检查是否有内存泄漏、线程死锁等报错,必要时重启服务后观察问题是否复现。
内容的提问来源于stack exchange,提问作者Ravi Raj

