运维 On-Call 流程
On-Call(值班)是 SRE 实践的核心环节。当告警在凌晨 3 点响起,值班工程师需要在最短时间内响应、定位问题、恢复服务。但很多团队的 On-Call 体验是这样的:告警满天飞,值班人员疲于应付,最终对告警产生麻木——真正的问题被忽视。
好的 On-Call 流程,是让值班人员在对的时机收到对的告警,带着足够的信息快速响应。
On-Call 的核心挑战
挑战一:告警疲劳
告警疲劳(Alert Fatigue)是 On-Call 的最大敌人。当告警量超过值班人员的处理能力时:
- 重要告警被忽略
- 值班人员对告警产生抵触心理
- 故障恢复时间变长
挑战二:上下文缺失
告警只知道「指标超标了」,不知道:
- 这是一个新问题还是已知问题?
- 其他相关指标是否也异常?
- 上次遇到类似问题是怎么处理的?
挑战三:时间压力
故障发生在凌晨 3 点,值班人员:
- 需要从睡眠状态切换到故障排查模式
- 需要快速理解系统状态
- 需要在压力下做出正确决策
告警接收与分级
告警分级标准
告警分级定义
告警路由
Alertmanager
值班轮次设计
轮次原则
Escalation 规则
PagerDuty
故障响应流程
标准响应流程(ISO 22301)
响应时间目标
值班工具链
工具清单
值班手册(Runbook)
每个告警应该附带值班手册:
Runbook
值班文化
健康的值班文化
需要避免的文化问题
质量判断标准
读完本节后,你应该能够回答:
- 告警疲劳(Alert Fatigue)的根本原因是什么?好的告警治理如何解决这个问题?
- On-Call 的核心挑战(上下文缺失、时间压力)分别对应哪些具体的系统设计问题?
- 告警分级的四个级别(P0/P1/P2/P3)的判断标准是什么?请举例说明。
- 值班手册(Runbook)应该包含哪些核心内容?为什么说 Runbook 是 On-Call 效率的关键?
- 如何建立健康的值班文化?哪些常见的团队观念实际上会加剧告警疲劳?