事件指挥官
指定协调、决策和通讯的事件指挥官 — 非调试的人。
为什么
无事件指挥官(IC),频道里每人调试无人协调:同日志被三人读、回滚决策等 10 分钟因无人拥有、客户通讯永不发因每人假设别人在做。IC 的工作明确非调试 — 是持大局、分角色、定回滚 vs. 前向修复、确保外界(客户、利益相关者)被通知。这单角色砍 MTTR 30-50% 因决策被做非推迟,调试者可专注无上下文切换写下一客户更新。Google、Amazon 和每成熟 运维组织用 IC 模型因它有效。
何时使用
每个 SEV1 和 SEV2。IC 在事件开始时指定,任何调试前。
如何做
1. 在事件频道首消息指定 IC - "Alice 是 IC、Bob 调试、Carol 通讯" — 显式声明 - IC 不调试;他们协调、决策、通讯 2. IC 职责 - 持时间线:我们知什么、试了什么、下一步 - 定回滚 vs. 前向修复(别让它默认"继续调试") - 分角色:调试者、通讯负责人、记录员、利益相关者联络 - 决定何时升级(更多人、经理、厂商支持) 3. 用结构运行事件频道 - IC 每 10-15m 发状态更新:"当前状态、我们在试什么、ETA" - 调试者发现即时发(无孤岛调查) - 记录员记决策和时间线供复盘 4. 显式宣布事件结束 - IC 确认:服务恢复、SLO 不再燃烧、监控稳 10m - 然后交复盘排期;别让频道漂到"我想我们完了" 5. 在团队中轮换 IC 角色 - 每人应被训为 IC;IC 肌肉异于调试者肌肉 - 跑游戏日使某人首次当 IC 非真实 SEV1 时
示例
# 事件频道(#inc-2026-03-15-checkout)
14:07 告警触发 → 值班确认,开 #inc-2026-03-15-checkout
14:08 IC 指定:"Alice 是 IC。Bob 你调试 — 从 runbook 开始。
Carol 你通讯 — 草拟客户状态页。我协调。"
14:10 IC:"状态:结账 100% 错误,14:05 开始。Bob 调查部署 v2.4.1。
客户通讯 5m 内。下次更新 14:25。"
14:15 Bob:"找到了 — v2.4.1 对 null 折扣抛异常。340 订单受影响。"
14:16 IC:"决策:回滚。Bob 启回滚。Carol 发'已识别,回滚中'。"
14:18 IC:"利益相关者:page @manager 供可见非行动。"
14:20 Bob:"回滚完,错误率 0%。"
14:22 IC:"监控 10m 确认稳定再宣布解决。"
14:32 IC:"事件解决。复盘明早 10 点。频道归档。"
# IC 从未打调试命令;他们协调、决策、通讯。常见问题
- ⚠每人调试无人协调 — 三人读同日志、回滚决策等 10m、客户通讯永不发。
- ⚠IC 也是调试者 — 深栈时无法持大局故决策推迟事件漂移。
- ⚠无显式 IC 指定 — 角色隐式且随人进出移,无人知谁真协调。
- ⚠事件从未显式宣布完 — 频道漂到沉默但无人确认恢复或排复盘。
最佳实践
- ✓在事件频道首消息显式按名指定 IC;IC 协调决策不调试。
- ✓IC 每 10-15m 发状态更新并显式定回滚/前向修复 — 别默认'继续调试'。
- ✓经游戏日训每人为 IC;某人首次跑事件不应是真实 SEV1。
- ✓显式宣布事件完:确认恢复、10m 稳定监控、然后排复盘 — 别让频道漂。