1. On-Call值班概述
1.1 On-Call职责定义
On-Call(值班)是SRE体系中保障服务连续性的核心机制。值班工程师在非工作时间或轮值周期内,负责响应告警、处理故障、执行变更,并确保服务等级指标(SLI/SLO)不降级。其职责边界清晰,通常包含以下维度:
| 职责维度 | 具体内容 | 关键产出 |
|---|---|---|
| 告警响应 | 接收并分类P0~P3告警,确认故障影响范围 | 告警确认时间 ≤ 5分钟 |
| 故障处置 | 执行应急预案、回滚变更、隔离故障节点 | MTTR(平均修复时间) |
| 沟通同步 | 在故障升级路径中向TL/EM汇报,更新状态页 | 故障通报记录 |
| 交接记录 | 填写值班日志,移交未闭环事项 | 值班交接单 |
| 基线核验 | 接班时验证环境基线状态,确保系统处于健康基线 | 基线核验报告 |
实践要点: On-Call不是"被动等待告警",而是"主动守护基线"。值班工程师的第一项操作应是基线核验,而非等待故障发生。
1.2 值班生命周期
一次完整的On-Call轮值遵循标准生命周期,每个阶段都有明确的输入输出和检查点。下图展示了值班生命周期的五个核心阶段:
值班生命周期强调闭环管理:从接班核验开始,经过监控、响应、处置,最终以交班闭环结束。其中,接班核验和交班复验是两次关键的基线检查点,确保值班交接不产生盲区。
1.3 基线核验在值班中的重要性
基线核验(Baseline Verification)是指在值班交接时,对系统环境的关键指标进行快速检查,确认其处于预设的健康基线范围内。它是值班生命周期的第一道防线,也是最后一道保险。
核心观点: 基线核验不是可选项,而是On-Call值班的强制性前置步骤。未经基线核验的值班,等同于"盲飞"。
基线核验在值班中的价值体现在三个层面:
- 预防性发现: 在故障发生前识别环境异常(如磁盘使用率突增、证书即将过期),提前干预避免P0事件。
- 责任边界清晰: 接班时基线正常,交班时基线异常,则问题发生在当值班次内,责任归属明确。
- 故障定位加速: 基线数据作为"健康快照",在故障排查时提供对比基准,快速区分"变更引入"与"环境退化"。
下表对比了"有基线核验"与"无基线核验"两种值班模式的关键差异:
| 对比维度 | 有基线核验 | 无基线核验 |
|---|---|---|
| 接班状态 | 明确知道系统是否健康 | 依赖上一班口头描述,无量化依据 |
| 故障发现时机 | 基线检查阶段即可发现潜在风险 | 等待告警触发,通常已造成影响 |
| 责任追溯 | 基线数据可追溯,责任清晰 | 容易互相推诿,难以定位引入方 |
| MTTR影响 | 基线数据辅助快速定位,缩短MTTR | 需从零开始排查,MTTR延长 |
| 交接效率 | 自动化核验报告,5分钟完成交接 | 口头交接,平均耗时15~30分钟 |
基线核验的典型检查项包括但不限于:
- 基础设施层: CPU/内存/磁盘使用率、网络连通性、DNS解析
- 中间件层: 数据库连接池、消息队列积压、缓存命中率
- 应用层: 核心接口可用性、错误率、响应时间P99
- 安全合规层: 证书有效期、密钥轮转状态、防火墙规则
- 变更审计层: 上一班次是否有未回滚的变更、配置漂移检测
常见误区: 部分团队将基线核验视为"形式化检查",仅做简单ping或登录查看。真正的基线核验应具备自动化、可量化、可追溯三个特征,通过脚本或工具生成标准化的核验报告。