首页/AI/大模型部署与运维速查/故障演练:验证监控与处置链路
运维监控与排障50 条

故障演练:验证监控与处置链路

演练的目的不是搞坏系统,而是验证「监控能否发现、告警能否触达、处置能否执行」;在预发或低峰单实例上做,一次只注入一个变量。

演练要验证什么

演练的目的不是把系统搞坏,而是验证三件事是否成立:监控能不能发现、告警能不能触达、处置动作能不能执行。在预发环境或低峰期的单实例上做,一次只注入一个变量,并把发现时间与恢复时间记下来,用这些数字判断预案是否需要修改。

基本信息

适用平台预发环境或生产低峰期的单实例
演练目标监控发现、告警触达、处置可执行
记录指标发现时间、告警到达时间、恢复时间
前置要求演练方案与回退方案书面确认
参与角色执行人、观察人、值班

常见演练项

  • 杀引擎进程:验证自愈策略、告警触达与重启时长
  • 摘一台后端:验证负载均衡切换与剩余容量
  • 缓存压力:持续长请求打满水位,验证排队行为与限流
  • 慢盘或断网(限预发):验证超时链路与降级
  • 上游超时:验证客户端与网关的超时设置是否匹配

单变量演练示例(低峰单实例)

单变量演练示例(低峰单实例)
kill -9 <引擎PID>
# 记录:自愈是否触发、告警几分钟内抵达、
#       客户端错误率曲线与恢复到正常的时间

演练项与观察指标

演练项验证什么观察指标
杀进程自愈策略与告警触达重启耗时与告警到达时间
摘后端负载均衡切换与剩余容量错误率与切换耗时
缓存压力排队行为与限流策略等待数与拒绝数
慢盘或断网超时链路与降级路径客户端错误类型与恢复时间
演练前书面声明影响面与回退方案;生产环境演练需要审批,不要顺手在业务高峰做。
演练要拿数字:发现时间、恢复时间、人工介入耗时,这些数字才决定预案要不要改。
失败的演练同样有价值:跑不通说明监控或预案存在缺口,那正是需要修的地方。

易错点

  • 演练没有观测记录:等于白做,要拿到发现时间与恢复时间这类数字
  • 一次注入多个故障:现象互相掩盖,定位不到真正的短板
  • 在业务高峰演练:影响面扩大到真实用户,得不偿失
  • 演练结论不落进预案:下次故障仍然要临场想办法

数据来源与参考

  • Principles of Chaos Engineering(principlesofchaos.org)
  • Netflix Technology Blog:Chaos Engineering
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌