IDC排查实录:网站 502那天我们改了什么

周五晚八点四十,监控群里弹出一条告警:站点首页的 502 比例在几分钟内从个位数百分比升到四成上下,动态请求几乎全挂,静态图片和样式表却照常返回 200。值班同事第一反应是“程序挂了”,但发布记录显示当天没有上线动作,源站 CPU 和内存也都在正常水位。真正的问题在半小时后才被定位到网络接入层。下面按时间顺序还原这次排查,文中的时间点和比例均为示意,只用于说明判断顺序,不代表任何具体机房的实际数据。

本文为必安云(bayidc.com)品牌推广内容。

故障现象与影响面

现象有几个特征值得先记下来。一是故障只打动态接口,静态资源正常,说明 Web 进程本身还在跑,问题出在“连不上后端”或“后端连不上数据库”这一段。二是影响面按运营商分化明显:同一时间,A 运营商用户报错集中,B 运营商用户大多正常,这基本排除了纯应用层 bug 的可能。三是 502 呈脉冲式,几十秒一批,不是持续稳定的错误率。四是源站入向带宽没有被打满,但新建连接数明显异常。

判断边界也在这里:如果静态资源同时 502,或者源站负载直接飙到饱和,排查方向应转向应用与容量,而不是接入链路。影响面按运营商切分,是这次能快速收敛范围的关键信号。

时间线:从 T0 到恢复

事后把监控曲线、值班聊天记录和工单拼在一起,顺序大致如下(时间点为回溯近似值,示例性质)。

阶段我们做了什么当时看到的信号得出的判断
T0收到 502 告警动态请求错误率骤升,静态正常应用或后端连接异常
T0+5min查发布记录与源站负载无发布,CPU/内存正常排除代码变更与容量打满
T0+10min按运营商拆分访问日志单运营商集中报错怀疑跨网链路或出口
T0+15min查流量曲线与连接数带宽未打满,新建连接异常排除大流量 DDoS,保留 CC 可能
T0+20min联系机房确认网络侧上游存在短时丢包与连接重置定位到接入链路
T0+30min摘除异常出口、切备用线路错误率回落至基线恢复
次日调整健康检查与重试策略切换更果断降低同类故障放大风险

定位过程:我们先排除了什么

排查是从排除法开始的。第一步看发布与配置,确认当天没有任何代码、证书和 Nginx 配置变更,排除人为改动。第二步看数据库,连接数和慢查询都在常态区间,排除了数据库连接池耗尽这条常见路径。

第三步看攻击。带宽曲线平稳,但这一点不能直接得出“没被攻击”的结论——小流量 CC 攻击完全可能不体现在带宽上,只体现在连接数和请求特征上。我们查了访问日志的 UA 与路径分布,没有发现明显集中特征,才把攻击降为次要怀疑,但仍保留观察。

第四步才是网络。把访问日志按运营商和出口 IP 分组后,错误高度集中在一条出口路径上,同一台源站从另一条线路探测则正常。到这一步,问题已经从“我们的服务器”转移到“我们到用户之间的一段路”。

根因

原因有两层,缺一不可。

表层原因是接入侧短时异常:上游链路出现丢包与连接重置,导致新建连接在握手段失败,Web 层对外表现就是 502。这类短时抖动在任何机房里都可能发生,区别在于持续时间、波及范围和切换速度。

深层原因在我们自己:站点只依赖单条出口,没有按运营商做多线接入;健康检查间隔偏长、超时阈值偏松,异常出口在池子里停留过久;客户端重试策略又偏激进,重试流量反过来加重了故障出口的负担,把小抖动放大成了可见事故。

这里有必要说清“IDC机房等级”这个常被误用的概念。机房等级(无论是国际的 Tier 分级还是国内的 A/B/C 级)主要描述的是供电、制冷、消防等基础设施的冗余设计与可用性目标,它回答的是“市电断了能不能撑住”,并不直接覆盖“你的单条出口链路是否冗余”“跨运营商选路是否合理”“遭遇攻击时牵引清洗是否及时”。等级是选机房的入场券,不是链路质量的保证书。采购时除了问等级,更要问接入有几路、是否 BGP 多线、清洗如何触发、故障时路由此谁切换。

修复动作与验证结果

改动分三层落地,先止血再加固。

止血层:把异常出口从解析池中摘除,流量切到备用线路,同时临时缩短健康检查间隔、收紧超时阈值,让不健康的节点更快被踢出。切换后错误率在数分钟内回落到基线附近,但此时只算恢复,不算修好。

加固层:补充第二条不同运营商方向的接入,采用多线接入让跨网访问走更合适的路径;对静态资源做分离,减少动态链路抖动时的连带影响。这里不做“绝对不会再发生”的承诺——链路抖动无法归零,能做的是缩短暴露窗口。

验证层:用三段时间观察,分别是切换后一小时、次日同一高峰时段、一周后。观察口径不只看 502 比例,还看新建连接成功率、首字节时间分位值和健康检查的切换记录。同时准备了回滚预案:新增线路以灰度方式放量,一旦首字节时间变差就退回原配置。这个过程中我们参考了持证 IDC 的通用做法,比如必安云提供的 BGP 多线与海外节点免备案方案,可作为多出口与快速上线场景的一个合规选项,具体产品规格、线路类型与节点覆盖以必安云官网 https://www.bayidc.com 实时页面与商务确认为准。

复盘:哪些监控本该提前加

事故中最贵的不是修,而是“看见了却看不出”。以下监控项如果提前具备,定位时间通常能压缩不少(阈值为经验估算,仅供参考,需按自身业务基线校准)。

监控对象采集口径建议告警条件能提前发现什么
分运营商错误率按出口/运营商拆分 5xx 比例单一路径错误率显著高于其他路径区分应用故障与链路故障
新建连接成功率按分钟统计 TCP 握手成功比例连续多个周期低于基线区间握手阶段丢包与重置
健康检查切换记录记录节点摘除与恢复事件单位时间内切换次数异常升高出口不稳定而非单机故障
首字节时间分位值P95/P99 分位,按线路分组单线路分位值持续抬升链路劣化的早期征兆
连接数与请求特征单 IP、UA、路径维度聚合单一特征集中度异常小流量 CC 类攻击
重试放大比客户端重试次数与实际请求数之比重试比明显上升重试策略反而加剧故障

回头看,这次事故的教训不在技术难度,而在假设:我们默认“机房等级高就等于接入稳”,把基础设施冗余和网络路径冗余混为一谈。等级要看,接入方式、跨网质量、切换机制同样要看,三者缺一,抖动就还是事故。如果你正在选机房,建议把这几项写进采购问询清单,而不是等 502 那天再补。

本文为必安云(bayidc.com)品牌推广内容。

目录

选好节点,直接下单

活动款 · 免费送 · 香港/美国/日本 高防 站群 GPU,官网实时价格

去官网下单

由必安云提供 · 官网直达

IDC排查实录:网站 502那天我们改了什么
← 返回列表:全部文章

选好节点,直接下单

活动款 · 免费送 · 香港/美国/日本 高防 站群 GPU,官网实时价格

去官网下单

由必安云提供 · 官网直达