事故响应最怕所有人都在操作,却没有人负责形成共同判断。稳定的响应流程不是增加审批,而是减少现场的信息损耗。
先建立指挥结构
一次高等级事故至少需要三个角色:指挥者负责优先级和决策,执行者负责变更,记录者维护时间线。指挥者不应同时登录生产环境操作,否则很容易丢失全局视角。
事故频道的第一条消息应固定包含影响范围、开始时间、当前假设、已采取动作和下一次更新时间。即使没有新结论,也要按节奏同步。
用时间线约束判断
记录事件时只写可验证事实,推测单独标注。一个简化模板如下:
14:02 告警:订单成功率低于 97%
14:05 事实:支付 API P95 从 180ms 升至 2.4s
14:08 变更:暂停版本 v2.31 灰度
14:12 结果:错误率未恢复,排除新版本为唯一原因
每个操作都要写明预期信号和回滚条件。没有预期结果的操作,本质上只是碰运气。
先止血,再定位
恢复服务优先于找到完美根因。常见止血手段包括回滚、限流、隔离故障依赖、关闭非核心功能和临时扩容。止血动作应尽量可逆,并明确观察窗口。
复盘必须产出变化
复盘不以“加强责任心”收尾。每条改进项都应有负责人、截止时间和验证方式,至少覆盖检测、缓解、恢复和预防四个环节。
现场清单
- 明确事故等级、指挥者和记录者
- 固定单一沟通频道,避免多群同步
- 每次操作写明预期、结果和回滚条件
- 恢复后保存日志、指标和变更记录
- 72 小时内完成无责复盘并跟踪行动项