2. 值班基线概念:什么是值班基线、基线指标分类(可用性、延迟、错误率)、基线阈值设定原则

2.1 什么是值班基线

值班基线(On-Call Baseline)是 SRE 团队在非故障时段,对核心服务所定义的一组可量化、可观测、可验证的稳态性能指标集合。它回答了“系统在正常运行时应该是什么样子”这一根本问题,是值班人员判断异常、触发告警、启动应急流程的客观参照系。

核心定义:值班基线 = 服务稳态的数字化快照。它不等同于 SLA/SLO,而是比 SLO 更细粒度、更实时、更贴近值班操作层面的“健康标尺”。

基线的作用贯穿值班全流程:

  • 异常检测:实时指标与基线对比,快速识别偏离。
  • 告警降噪:只有突破基线阈值的异常才触发告警,减少误报。
  • 故障定界:基线提供故障前的“健康快照”,辅助根因分析。
  • 回归验证:变更后通过基线核验确认服务恢复稳态。

2.2 基线指标分类

值班基线通常围绕三大黄金指标(Golden Signals)构建,辅以资源与业务指标。下表列出核心分类与典型指标:

分类 指标名称 典型度量方式 值班关注点
可用性 服务可用率 成功请求 / 总请求 × 100% 低于 99.9% 需立即介入
健康检查通过率 通过探针数 / 总探针数 × 100% 连续 3 次失败触发告警
延迟 P50 / P95 / P99 延迟 百分位延迟(毫秒) P99 超过基线 2 倍视为异常
平均响应时间 总耗时 / 总请求数 与基线偏差 > 30% 需排查
错误率 HTTP 5xx 占比 5xx 数 / 总请求数 × 100% 超过 1% 立即告警
业务错误码率 业务异常数 / 总请求数 × 100% 根据业务容忍度设定
资源 CPU / 内存使用率 百分比 持续 > 80% 需扩容评估
磁盘 I/O 等待 iowait 百分比 超过 30% 可能影响延迟
业务 QPS / TPS 每秒请求数 / 事务数 突降或突增 50% 需关注
实践建议:初期优先覆盖可用性、延迟、错误率三大黄金指标,资源与业务指标作为辅助。每类指标选择 1-2 个最敏感的度量项即可,避免基线过于臃肿。

2.3 基线阈值设定原则

阈值设定是基线工程中最关键也最易出错的环节。错误的阈值会导致告警风暴或漏报。以下是 SRE 实践中总结的五大原则:

  1. 统计驱动原则:基于历史数据的百分位分布设定阈值,而非拍脑袋。例如取过去 7 天 P99 延迟的 1.5 倍作为告警阈值。
  2. 分层分级原则:按严重程度设置多级阈值(Warning / Critical / Emergency),避免单一阈值一刀切。
  3. 动态自适应原则:对于有明显周期性的指标(如日间高峰、夜间低谷),使用动态基线而非固定值。
  4. 业务对齐原则:阈值必须与业务容忍度挂钩。核心交易链路的延迟阈值应严于非关键查询链路。
  5. 可验证原则:每个阈值必须能通过历史故障数据回测验证,确保能检出已知故障而不产生过多误报。
常见陷阱:不要直接使用 SLA 数值作为值班基线阈值。SLA 通常是月度或季度聚合值,粒度太粗;值班基线需要分钟级甚至秒级的实时阈值,两者在时间窗口和灵敏度上完全不同。

2.4 基线阈值设定流程

下图展示了从原始指标到可执行基线阈值的标准化设定流程:

基线阈值设定流程 历史数据采集 数据清洗与去噪 百分位分布计算 初始阈值生成 历史故障回测验证 阈值调整与优化 基线上线部署 持续监控与反馈调整 反馈回路

2.5 基线阈值示例

以下是一个典型 Web 服务的值班基线阈值配置示例,展示分层分级与业务对齐原则的具体落地:

指标 Warning 阈值 Critical 阈值 时间窗口 说明
服务可用率 < 99.9% < 99.5% 5 分钟 核心交易链路
P99 延迟 > 500ms > 1000ms 1 分钟 基于 7 天 P99 的 1.5x / 3x
HTTP 5xx 率 > 0.5% > 2% 1 分钟 连续 2 个窗口触发告警
CPU 使用率 > 75% > 90% 5 分钟 持续超过阈值
QPS 突降 下降 > 30% 下降 > 50% 1 分钟 与前一小时同期对比