深色模式
无责复盘 Postmortem
摘要:复盘的目的不是找出谁错了,而是找出系统为什么允许这个错误发生。本文提供一份可直接复制的复盘模板、从时间线还原事实的方法,以及改进项闭环跟踪表。
适用环境
bash
# 复盘依赖事故期间的时间线记录与监控快照
ls -1 incidents/ | tail -5
mkdir -p postmortems/$(date +%F)1
2
3
2
3
操作步骤
第 1 步:先还原事实,不加评价
bash
# 汇总时间线,按时间排序,去掉主观措辞
cat incidents/*/timeline.md | sort | uniq > /tmp/timeline.txt
grep -viE '好像|可能|估计' /tmp/timeline.txt | head -401
2
3
2
3
第 2 步:套用复盘模板
bash
cat > postmortems/$(date +%F)/pay-timeout.md <<'EOF'
# 事故复盘:pay 下游超时导致下单失败
## 概要
- Sev:1 时长:47 分钟 影响:下单成功率 62%
## 影响
- 用户:约 X 笔下单失败(可重试)
- 业务:GMV 损失待财务口径确认
## 时间线(UTC)
| 时间 | 事件 |
| --- | --- |
| 10:12 | 告警触发 |
| 10:18 | 值班人 ACK |
| 10:31 | 定位为 redis 连接池耗尽 |
| 10:45 | 扩容连接池,恢复 |
## 根因
连接池大小按旧流量配置,未随促销流量调整。
## 做得好的
- 告警准确,5 分钟内 ACK
## 做得不好的
- 无该场景 Runbook,定位靠临时排查
## 改进项(Action Items)
| 动作 | 负责人 | 截止 | 状态 |
| --- | --- | --- | --- |
| 补 Runbook | @a | 2026-10-20 | 未开始 |
| 连接池参数纳入容量评审 | @b | 2026-10-25 | 未开始 |
EOF1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
第 3 步:区分根因与触发因素
- 触发因素:这次按下按钮的人 / 这次发布
- 根因:为什么系统允许一次点击造成大范围故障
只写触发因素不写根因的复盘,等于没做。
第 4 步:改进项必须可验收
bash
# 坏:加强监控、提高意识
# 好:为 redis 连接池使用率新增告警,阈值 80%,5 分钟内触发
cat > ai-check.sh <<'EOF'
#!/usr/bin/env bash
# 检查复盘中的改进项是否都有负责人和截止日期
grep -n '| @' postmortems/**/*.md | awk -F'|' '$4==" " || $4=="" {print "缺截止日期: " $0}'
EOF
chmod +x ai-check.sh && ./ai-check.sh1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
第 5 步:归档与检索
bash
# 按季度归档,文件名带日期便于 grep
mkdir -p postmortems/2026Q4 && mv postmortems/$(date +%F)/*.md postmortems/2026Q4/ 2>/dev/null
grep -rl 'redis' postmortems/ | head1
2
3
2
3
验证
bash
# 1. 复盘包含必备章节
f=postmortems/2026Q4/pay-timeout.md
for s in '## 概要' '## 时间线' '## 根因' '## 改进项'; do grep -q "$s" "$f" && echo "$s OK" || echo "$s 缺失"; done
# 2. 时间线条目不少于 4 条
grep -c '^| 20' "$f"
# 3. 改进项均有负责人
grep -c '| @' "$f"1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
常见坑
复盘变成追责会
一旦出现"某人应该更小心"的措辞,下次就没人愿意如实还原事实。坚持描述行为与系统,不评价人。
改进项无人跟进
复盘会结束即遗忘。改进项必须进任务系统,并在下次值班会上过一遍未闭环项。
在复盘中贴出未脱敏的用户数据
复盘文档通常传播范围广,贴入真实用户信息会造成合规风险,务必先脱敏。