3. 值班环境基线定义

基线(Baseline)是系统在正常、稳定运行状态下各项关键指标的参考范围。在值班环境中,基线是判断异常、触发告警、启动故障排查的“零刻度线”。没有基线,告警阈值将失去依据,值班人员也无法快速区分“正常波动”与“真实故障”。

3.1 什么是基线

基线不是静态的固定值,而是基于历史数据统计得出的动态参考区间。它通常包含以下特征:

  • 时间维度:按小时、天、周、月分别建立基线,以适配业务周期性变化(如白天高峰、夜间低谷、周末流量下降)。
  • 统计维度:使用均值、中位数、P95/P99 百分位、标准差等统计量描述指标分布。
  • 业务维度:不同服务、不同接口、不同用户群体可能有各自独立的基线。
实践建议: 基线应至少覆盖最近 14 天的正常运行数据,并排除已知故障时段。每周自动重新计算一次基线,确保其跟随系统演进。

3.2 关键指标:USE 与 RED 方法论

在 SRE 领域,通常使用 USE(Utilization、Saturation、Errors)和 RED(Rate、Errors、Duration)方法论来选取关键指标。结合两者,值班环境基线应重点关注以下四个维度:

指标类别 含义 典型度量 示例
延迟(Latency) 请求从发出到收到响应的时间 P50、P95、P99 延迟(毫秒) API P99 延迟基线:200ms ± 50ms
错误率(Error Rate) 请求中返回错误状态码的比例 HTTP 5xx 占比、应用异常率 错误率基线:< 0.1%
饱和度(Saturation) 资源被使用的程度,接近极限的程度 CPU 使用率、内存使用率、磁盘 I/O 队列深度 CPU 饱和度基线:< 70%
流量(Traffic) 系统承载的请求量或数据量 QPS、RPS、带宽吞吐量 峰值 QPS 基线:5000 ± 800
关键原则: 延迟和错误率是面向用户的“体验指标”,饱和度和流量是面向系统的“容量指标”。值班人员应优先关注延迟和错误率的基线偏离。

3.3 基线阈值设定原则

阈值设定直接影响告警质量。阈值过紧导致告警风暴,过松则遗漏真实故障。以下是四条核心原则:

  1. 基于统计,而非经验:使用历史数据的 P95 或 P99 值作为基线上限,而非人工拍脑袋。例如:将 P99 延迟的 1.5 倍设为告警阈值。
  2. 区分告警级别:设置多级阈值,如 Warning(基线上限 × 1.2)和 Critical(基线上限 × 2.0),避免所有偏离都触发高优先级告警。
  3. 考虑季节性:为工作日/周末、促销日、月末结算等特殊时段建立独立基线,避免误报。
  4. 持续调优:每次故障复盘后,检查阈值是否合理;每季度进行一次基线重校准。
常见陷阱: 不要直接使用云厂商或监控工具的默认阈值。默认值通常过于通用,无法适配你的业务特征。务必基于自身数据建立基线。

3.4 基线核验流程(SVG)

下图展示了从指标采集到基线核验的完整流程,值班人员应定期执行此流程以确保基线有效性:

基线核验流程 基线核验流程 指标采集 数据清洗 基线计算 阈值生成 核验比对(当前 vs 基线) 偏离判定 告警触发 基线更新 说明:核验周期建议为每日一次,自动比对当前指标与基线,偏离超过阈值则触发告警或触发基线更新

3.5 基线阈值设定示例

以下是一个实际电商系统的基线阈值设定示例,供值班人员参考:

指标 基线值(P95) Warning 阈值 Critical 阈值 说明
首页 API 延迟 200ms 300ms 500ms 用户核心体验指标
订单接口错误率 0.05% 0.1% 0.5% 直接影响交易
数据库 CPU 饱和度 60% 75% 90% 容量规划依据
网关 QPS 4500 6000 8000 流量突增预警
值班核验清单:
✅ 每日检查基线是否覆盖所有核心服务
✅ 确认基线计算周期(建议 14 天滑动窗口)
✅ 验证阈值是否与 PagerDuty 告警规则联动
✅ 每周回顾基线偏离事件,调整阈值