事故复盘
事故复盘还原影响、时间线和促成条件。本文负责资深岗位的事故与失败方案追问。
1. 面试核心
先记住这几条,再读正文- 事故时间线。 复盘时间线区分故障发生、检测、缓解和恢复时刻。卡 · 综合题
- 影响范围。 用户数、失败请求和数据差异共同界定事故影响。
- 无责分析与责任。 无责复盘分析促成条件,系统 owner 负责改进行动。
- 行动验收。 行动项包含负责人、期限和可验证的验收结果。
2. 复盘触发条件
触发条件应在事故前约定。用户中断、数据损失和紧急回滚都可列入。监控漏报与险情也值得复盘。
恢复期间优先控制影响并保存证据。复盘随后分析原因和改进方向。统一触发标准能减少选择性遗漏。
3. 时间线
时间线以日志、监控和变更记录为依据。每项记录观察、已知信息、操作和结果。
事件时间与发现时间分别填写。例如故障 10:00 开始,10:20 才被发现。二十分钟的检测延迟需要单独分析。
缺失内容标为未知,保留待核验项。后续证据补齐后再更新结论。
4. 影响评估
影响统计需覆盖用户、请求和业务结果。数据问题还要记录丢失、重复与陈旧范围。
整体错误率会掩盖局部中断。例如总错误率 1%,某租户却全部失败。因此需按区域、租户和业务链路拆分影响。
影响时间与 SLI 口径一致,再核算错误预算。赔付或合规影响交由对应负责人确认。
5. 促成条件
触发动作和促成条件需要分开记录。错误命令是触发动作,操作范围失控是系统条件。
继续检查权限、容量、发布与告警设计。也要还原当时的信息和时间压力。无责分析有助于参与者提供完整事实。
改进行动仍有明确 owner。人员纪律问题由独立流程处理。
6. 防线分析
分别检查预防、检测、缓解和恢复措施。记录哪些生效、哪些失效,以及缺少哪些保护。
低峰期减小了事故影响,也应写入条件。后续演练需覆盖高峰负载。有效保护应保留,修复时评估它们的依赖关系。
7. 行动项
行动项写出具体动作和验收标准。例如把“加强监控”改为增加结账成功率告警。验收时注入已知错误,检查告警与响应耗时。
每项指定负责人、优先级和截止时间。高风险项进入正式排期。测试或演练通过后,再关闭对应任务。
8. 失败方案复盘
失败方案按原目标和当时证据评估。重点检查假设、验证方法和停止条件。
记录何时出现反对原方案的信号。分析发现信号后为何继续投入。可复用的工具和结论单独保留。
后续决定应更新验证标准与退出条件。及时结束低价值方案可以减少后续损失。
9. 跨事故分析
统一标签可识别重复依赖和变更问题。相似系统可将事故场景加入演练。
同类事故再次出现时,检查旧行动项是否完成。已经完成的项需复核实际效果。分享材料保留技术细节,并去除用户敏感信息。
10. 复盘完成标准
文档完成与改进完成分开跟踪。文档需经过参与者和系统 owner 评审。影响、时间线和行动项均有证据后可以发布。
行动项按各自期限继续验收。重复事故与恢复耗时用于评估长期效果。无需等待长期指标变化才发布文档。
11 · 面试题卡片
11.1 怎样复盘一次由发布引起的线上事故
出现公司:暂无已核验的公开来源(本站自测)
题型:综合题
考察重点
- 理解用户影响、证据时间线和促成条件。
- 理解无责分析与明确责任的关系。
- 理解可执行行动项、复测和跨团队学习。
参考回答
发布事故复盘要还原时间线,并将原因转成可验收行动。
先保存变更、日志和监控证据。分别记录故障发生、发现、缓解和恢复时刻。影响按用户、业务结果和数据差异统计。
分析从触发动作延伸到系统与流程条件。无责语言帮助收集事实,owner 负责改进。文档评审后发布,行动项按期限测试或演练。跨事故对比用于检查措施是否持续有效。