Blackbox Exporter:服务在运行,网站就一定能打开吗

阿远
2026-10-28 / 1 评论 / 4 阅读 / 正在检测是否收录...

systemctl 显示 Nginx 正在运行,只能说明进程存在。域名解析、证书、重定向、PHP 和数据库任何一环出问题,访问者仍可能看到错误。所以这次给博客增加了 Blackbox Exporter,用请求结果观察网站入口。

它和 Node Exporter 的区别

Node Exporter 观察主机内部资源;Blackbox Exporter 按指定模块发起 HTTP、TCP 等探测。本站用 HTTPS 探测博客首页,关心请求是否成功、耗时以及证书有效期。

Blackbox Exporter 本身在本机 9115 端口运行。Prometheus 请求它的 /probe 接口,同时告诉它要检查的网站地址;它再请求目标并返回探测指标。/metrics 则主要提供采集器自身的信息,两者用途不同。

先看这两个指标

up{job="blackbox_http"}
probe_success{job="blackbox_http"}

第一条说明 Prometheus 能否取得探测结果,第二条说明这次探测本身是否成功。采集器能正常输出“网站失败”,于是 up 为 1 而 probe_success 为 0,这种情况完全合理。

耗时可以查看:

probe_duration_seconds{job="blackbox_http"}

单位是秒,不是毫秒。它反映探测这一过程的耗时,不能直接当成每位访客浏览完整页面的加载时间。

证书剩余多少天

(probe_ssl_earliest_cert_expiry{job="blackbox_http"} - time()) / 86400

证书到期时间与当前时间相减得到秒,除以 86400 变成天。本站设置不足 14 天持续一段时间后告警,提前留下续签和验证余量。指标缺失时要结合探测失败排查,不能因为没有证书曲线就认定证书安全。

配置位于 /etc/blackbox_exporter/blackbox.yml。本站的 HTTP 模块启用正常证书验证、跟随重定向并要求 HTTPS。证书问题应修复证书链、域名匹配或时间问题,不能为了让面板变绿就跳过 TLS 校验。

首页 200 也有边界

首页返回成功,不代表后台登录、评论提交和所有图片都正常。页面也可能是一个错误提示页,却仍返回 200。如果要检查正文关键字,需要配置相应响应内容校验,并在改版后维护规则。

本站采集器仍部署在同一台服务器。它可以发现很多应用问题,但不能代表所有公网访问路径,更无法在整机断电后继续工作。当前先把这条本机 HTTPS 链路理解清楚,以后再增加独立位置的访问监测。

直接检查探测结果

可在服务器运行 curl -fsSG http://127.0.0.1:9115/probe --data-urlencode 'target=https://yuanty.ltd/typecho/' --data-urlencode 'module=http_2xx',模块名需以实际 blackbox.yml 为准。查询 probe_success、probe_http_status_code 与耗时;DNS 或 TLS 阶段失败可能尚无 HTTP 响应。debug 探测输出可能含内部信息,分享前检查。

内容复核与修订:2026-10-29。实验示例与本站运行记录分别说明;原始归档日期保留。
0

评论 (1)

取消
  1. 头像
    阿远 作者
    Linux · Google Chrome

    作者补充|如果页面探测失败,建议把 probe_success、probe_http_status_code 和 probe_duration_seconds 放在一起看:前者判断结果,状态码帮助区分 HTTP 错误,耗时辅助判断超时。DNS 或 TLS 阶段失败时,状态码可能是 0,不能把 0 当成网站返回的 HTTP 状态码。

    回复