从外网看服务:拨测与可用性监控
发布时间:2025-11-19 19:37       
更新时间:2025-11-20 15:49
服务器内部看起来一切正常,用户却反馈打不开。这类问题内网监控天然看不见,因为链路上的 DNS、运营商线路、防火墙策略都不在机器里,拨测(从外部探测服务可用性)补的就是这一段盲区。
一、内网监控的盲区
进程在、端口在、资源够,内网监控全绿,但用户访问照样失败:可能是域名解析出错、证书过期、某个地区线路故障、安全组规则改动。这些环节的共同点是不在服务器上,机器自己永远不知道。排查这类问题时最常见的尴尬,是双方各看各的监控,都说自己正常。监控自身也要被监控,拨测服务挂了没人知道才是大坑。
二、拨测是什么
从外部发起真实请求模拟用户访问,检查状态码、响应时间、证书有效期。Prometheus 体系用 blackbox_exporter,配置 http 模块后把待测地址列成 targets;各类云控制台一般也自带站点监控功能,用法大同小异。检查项建议三条:状态码 2xx 或 3xx 算成功、响应时间设上限、证书剩余天数低于十四天提醒。失败类型要分类记录,超时、拒绝连接、证书错误指向完全不同的方向。拨测频率不必太高,一到五分钟一次足够,频率过高反而制造噪音。
三、多地域才有说服力
只从机房旁边拨一个点,区域性线路问题照样漏掉。至少选两三个不同区域的探测点,响应差异能区分两种情况:所有点都失败,是服务本身挂了;只有个别点失败,多半是某条线路的问题,报障时也好指给服务商看。探测点本身也可能故障,判定条件写成至少两个点同时失败才告警。
四、告警要落到人
可用性告警必须直达值班手机,连续多次失败才触发,避免单次抖动误报。告警内容里带上失败地点和错误类型,值班的人不用再复现一遍。
拨测和内网监控是互补关系,一边管机器活不活,一边管用户能不能用上,缺一边都不算完整。