一片超时,我差点按宕机处理

凌晨监控报警,ping 全部超时。我爬起来准备切流量,顺手先访问了一下站点——页面正常打开。

那一刻挺狼狈。ping 不通只说明 ICMP 这条路不通,跟我网站能不能用,是两件事。

四种常见的 ping 不通

第一种,目标或中间设备限制了 ICMP。很多云安全组默认不放行,系统防火墙也可能只开 TCP。

第二种,站点在 CDN 后面,边缘节点对 ICMP 不理睬,但对 HTTP 正常响应。

第三种,解析错了。域名指到了一个不存在的 IP,ping 当然不通,网站自然也打不开。

第四种,链路真的断了。这种情况 TCP 和 HTTP 也会一起失败。

前三种都会让 ping 变红,但业务未必受影响。

还有一种容易被忽略:IPv6 地址填进了 IPv4 工具,或者反过来,协议不匹配,看起来也是不通。

PING 测速:多节点延迟与丢包一览

PING 测速:多节点延迟与丢包一览

往下走一层:TCP

用 TCP 探测目标的 80 或 443。端口能握手,说明服务至少在那儿听着。

这一步可以排除大部分「假宕机」。ICMP 被拦的时候,TCP 通常是通的。

如果 TCP 也不通,再看是所有节点都不通,还是只有部分地区。全部不通,才更像服务停了或者安全组封了。

探测的端口要和业务一致。有些站只开 443,测 80 自然不通。

再往下:HTTP

TCP 通了,继续看 HTTP 状态码和响应内容。

200 或正常的业务响应,说明服务可用;5xx 说明后端有问题;403 说明有策略在拦。这些都是「ping 不通但业务有状态」的情况。

这一步之后,你才能说清楚到底是「网不通」还是「服务坏」。

多节点怎么读

在宝塔拨测的 PING 测速看多地区多运营商节点,先分清是全红还是局部红。

全红,偏目标侧策略或者真故障;局部红,偏线路和区域。

再配合按运营商分组,能看出是不是某一家运营商到这里有问题。响应最快、最慢和平均也能给个整体判断。

复测和表述

发现问题先连测两三次,确认不是瞬时抖动。

对内汇报时把话说准:ICMP 不可达,TCP 正常,HTTP 200。这种描述比「宕机了」准确得多,也不会误导别人去重启服务。

还要把「超时」和「拒绝」分开说。超时是没回应,拒绝是明确拒绝,含义完全不同。

真正该紧张的是:TCP 也不通、多地同时失败、HTTP 返回 5xx 或完全无响应。那时候再动应急流程,不迟。复测记录里写清协议和端口,别只写一个「不通」。