首页/网络/网络排障速查/先查变更:变更关联排查法
排查流程与方法36 条

先查变更:变更关联排查法

「故障前动过什么」是排障最高频的破案线索:先收集近 24 小时的配置、发布、割接、扩容记录,再做技术排查,能省掉大量无用功。

网络排障速查网络更新于 2026-10-13

变更关联排查是什么

「故障前动过什么」是排障中命中率最高的线索。大部分突发故障并不是设备自己坏了,而是发布、配置调整、证书更换、割接、扩容或第三方变更带来的副作用。做法是先把故障时间点和变更时间点放在同一条时间线上对齐,再去看技术细节。它的价值不只是快,还在于结论能直接指向责任方与下一步动作:确认了变更就谈回滚,排除了变更才能安心深挖设备与链路。

基本信息

第一步问题最近改了什么:配置、发布、证书、割接、依赖升级、第三方变更
证据来源变更单、Git 提交记录、审计日志、监控告警时间线、文件修改时间
时间对齐把故障开始时间与变更完成时间放在同一条时间轴上看间隔
常用手段回滚验证:先留现场,再把可疑变更退回去观察现象是否消失
盲区上游依赖、云平台、运营商与第三方接口的变更通常不在自己的变更单里

典型使用场景

  • 发布窗口后十分钟内出现报错,优先确认本次发布涉及哪些模块
  • 证书到期前后出现 HTTPS 报错,先查证书更换记录与生效时间
  • 网络割接或设备替换后部分网段不通,对齐割接动作与故障范围
  • 第三方服务同时异常,先确认是本地变更还是上游变更
  • 周末无人报障、周一集中暴雷,需要用监控时间线还原真实开始时间
  • 依赖版本升级后出现偶发超时,检查驱动、内核与运行时版本记录

查最近改动

查最近改动
find /etc -mmin -1440 -type f 2>/dev/null | head -30   # 24 小时内被改过的配置
systemctl list-units --since '24 hours ago' --state=failed  # 最近失败的服务单元
rpm -qa --last | head -20             # 最近安装或升级的软件包(RHEL 系)
journalctl --since '24 hours ago' -p err | tail -50   # 最近 24 小时的错误级日志
git -C /path/to/config log --since='24 hours ago' --oneline  # 配置纳管在 Git 时直接看提交
systemctl list-timers --all | head -20   # 定时任务与自动续期类作业的时间点

常见变更与对应症状

变更类型典型症状验证方式
应用发布接口报错、部分功能不可用、耗时抬升对比发布前后版本与访问日志错误率
配置调整重启后异常、特定路由或端口行为改变比对配置备份与当前运行配置的差异
证书更换HTTPS 报错、部分客户端校验失败用 openssl s_client 查看证书链与有效期
网络割接单个网段或单条链路不通、路径变化路径探测对比割接前后的跳数
扩容变更分布式系统部分节点异常、数据不一致核对新节点配置、时间同步与会话保持
发现可疑变更后优先走「回滚验证」,而不是在故障现场边猜边改:回滚后故障消失基本可以确认因果关系;但回滚前必须先把配置、抓包、日志留档,否则回滚没生效就失去了二次分析的依据。
变更结论本身也要交叉验证:文件修改时间晚于故障开始时间,说明这次改动不是原因;而监控时间线常常显示故障比人工报障时间早得多,别只按记忆判断先后。

易错点

  • 只问「最近有没有变更」而没人承认,应改为自己查审计日志、软件包时间与文件修改时间来验证
  • 回滚前没有保存现场证据,回滚未生效后无法继续分析
  • 把时间上相邻当成因果,忽略监控时间线里故障其实开始得更早这一事实
  • 只看自己团队的变更,漏掉上游依赖、第三方接口与云平台侧的调整
  • 接受「最近没人动过」的说法就跳过这一步,自动更新、证书续期与配置管理工具的推送往往没人申报

数据来源与参考

  • ITIL 变更管理实践(变更-故障关联)
  • SRE Book:变更与故障相关性分析

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌