首页/云/可观测性速查/故障演练:用受控实验验证可观测性
监控体系与方法40 条

故障演练:用受控实验验证可观测性

定期开展故障演练(注入延迟、杀掉实例、断开依赖),验证监控能否按预期发现、告警能否触达、预案是否可用;演练结果反哺告警与看板改进。

可观测性速查云更新于 2026-10-13

演练要验证什么

故障演练是用受控实验代替猜测:主动注入延迟、错误、实例退出或依赖中断,观察监控能否按预期发现、告警能否按时触达、预案是否真的可执行。产出不是“系统扛住了”这句结论,而是一份改进清单:哪些告警没触发、哪些看板缺数据、哪些步骤在文档里写错了。

演练前写下假设(例如主库宕机应在 2 分钟内触发告警)与回滚方案,通知相关方
演练中记录告警时间线、人工处置动作与数据缺口,指定专人记录
演练后输出改进项:新增或调整告警、补充看板、修订预案与 runbook

可注入的故障类型

  • 实例级:杀掉进程或 Pod,验证副本接管与重启告警是否按预期触发
  • 资源级:注入 CPU、内存、磁盘压力,验证容量类告警阈值是否合理
  • 网络级:注入延迟、丢包、断开依赖链路,验证超时与降级策略
  • 依赖级:关闭从库或暂停下游服务,验证级联影响是否可见
  • 数据级:制造慢查询或大事务,验证数据库层告警与查询耗时看板

演练记录模板

演练记录模板
实验:关闭订单库从库
假设:2 分钟内触发 ReplicaDown(P2),5 分钟内触发复制延迟告警
回滚:重新拉起复制进程并核对数据一致性
实际:ReplicaDown 在 1m12s 触发;延迟告警未触发(阈值偏高)
结论:告警覆盖存在缺口
改进:调整复制延迟阈值;补充复制中断看板,并列入下次演练复测项
从只读演练做起:先只观察注入的延迟而不直接断开依赖,确认链路通畅后再提高实验强度,避免把演练变成真实事故。
演练必须有回滚预案并避开业务高峰;在核心交易时段注入故障,等于人为制造一次生产事故。

易错点

  • 演练没有回滚预案或选在业务高峰执行,会把演练变成真实事故
  • 只演练不记录,无法验证告警覆盖是否真的改进了
  • 演练只覆盖基础设施层,业务关键路径的降级逻辑长期没人验证
  • 反复做同一个场景,新引入的依赖与链路始终没有被验证过

数据来源与参考

  • Google SRE Book 第 17 章 Testing for Reliability(演练理念)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌