故障复盘从来不是用来追责的
上周去见一个做基础架构的朋友,他刚熬完一个3小时的支付链路故障。散了复盘会出来脸都绿了。
CTO在会上直接拍桌子,说负责网关的组为什么没提前做容量评估,最后当场扣了季度绩效。他说那天散会他在楼梯间抽了三根烟,说这会开的,下次再出故障,没人敢说实话了。
支付链路故障时间线还原示意图
很多团队的复盘会,前半小时都在掰扯“这个配置是谁点的确认”“当时为什么没人检查”,根本没人坐下来把时间线捋清楚:变更是什么时间提交的,哪个环节的校验规则没拦住,流量是从哪个时间点开始掉的,监控告警晚了多久响。说白了,你连事实都没拼全,谈什么改进?
更离谱的是有的公司要求复盘会必须在故障发生后24小时内出报告,人都还没从应急的疲劳里缓过来,写出来的东西全是情绪发泄,要么就是把锅往资历最浅的同事身上推,一点参考价值都没有。

故障整改项落地优先级矩阵图
真的有用的整改项,从来都很小。比如之前碰到过一个团队,出了一次数据库主从切换的故障,复盘之后定的整改项不是“提升数据库可靠性”这种空话,是“把主从切换的脚本校验逻辑加上磁盘剩余空间判断,避免切换的时候因为磁盘满了启动失败”,就这么一个小改动,之后两年再也没出过同类问题。你说这些写空话的人,是真的不知道怎么改吗?不是,是因为写具体的整改项要担责任,写空话永远不会错。
复盘的第一原则是先找事实不是先找责任人
很多人搞复盘上来就追谁的锅,完全搞反了顺序。那次故障的实际触发点很简单:上周三凌晨的一次配置变更,运维同学把灰度的路由权重从10%改成了100%,没注意到对应的新版本网关服务还没完成压测,刚好赶上早高峰的流量峰值,直接把集群打挂了。那些写在报告里的整改项大多是无效劳动
我见过太多故障复盘报告,整改项列了十几条,什么“加强人员培训”“提高安全意识”“建立值班响应机制”,全是正确的废话。上次翻到某团队去年的12份故障复盘报告,里面8份都写了“加强监控告警覆盖率”,结果今年同一类故障出了4次,告警还是没覆盖到核心的链路节点。 麻烦在于,写这些整改项的人根本没去想,你要加强监控,是哪个指标没覆盖?需要加多少预算?谁来做?什么时候上线?没有这些具体的东西,所有整改项都是写在报告里给领导看的,下次故障该怎么出还怎么出。我见过最离谱的一份复盘报告,整改项第一条居然是“要求值班人员7*24小时保持手机满电,不得出现关机情况”,合着之前出故障是因为值班同学手机没电关机了?那你倒是说说,当时告警是哪个环节漏了,为什么没触发备用值班人的通知?