3. 台账度量基线概述

在SRE实践中,度量基线(Metric Baseline)是指系统在正常、稳定运行状态下,关键指标所呈现的统计分布与行为模式。它不是一条静态的阈值线,而是一组描述“健康状态”的多维参考模型。理解基线是构建有效SLO台账的前提。

3.1 什么是度量基线

度量基线是对系统“正常”行为的量化描述。它通常包含以下核心要素:

要素 说明 示例
中心趋势 指标在稳定期的典型值,如均值、中位数 P50 延迟 = 120ms
离散程度 指标波动的正常范围,如标准差、P90/P99 P99 延迟 = 450ms
时间模式 日/周/月周期性规律 白天流量是夜间的 3.2 倍
事件关联 与部署、发布、扩缩容等操作的相关性 部署后错误率上升 0.5% 持续 5 分钟
关键认知:基线不是固定阈值。它随业务周期、系统版本、基础设施变化而动态演进。一个有效的基线模型必须包含时间窗口和统计置信度。

3.2 为什么需要基线

没有基线,SLO台账中的度量数据就失去了参照系。基线在以下四个层面提供不可替代的价值:

  1. 异常检测的锚点:只有知道“正常”是什么,才能准确判断“异常”。基线提供统计意义上的正常区间,避免依赖拍脑袋的固定阈值。
  2. 容量规划的输入:通过基线趋势分析,可以预测资源消耗的增长速率,提前进行扩容或架构优化。
  3. 变更影响的量化:对比变更前后的基线偏移量,客观评估发布、配置修改、架构调整对系统稳定性的实际影响。
  4. SLO目标设定的依据:合理的SLO目标必须基于历史基线数据。脱离基线的SLO要么过于激进(频繁告警),要么过于宽松(失去意义)。
实践建议:在建立SLO台账的初期,至少收集 14 天以上的基线数据。对于有明显周期性的业务(如电商、社交),建议覆盖完整的业务周期(如 28 天)。

3.3 基线在SLO台账中的作用

在SLO台账体系中,度量基线扮演着“度量标尺”和“趋势参照”的双重角色。下图展示了基线如何嵌入SLO台账的核心流程:

度量基线在SLO台账中的核心作用 原始指标数据 延迟/错误率/吞吐量 度量基线计算 统计分布 + 周期模式 SLO台账 目标/预算/状态 异常检测锚点 偏差识别与告警触发 趋势与容量分析 增长率预测与规划 SLO目标校准 目标合理性验证与调整 基线是SLO台账的“度量锚点” 没有基线,SLO台账中的指标只是孤立数字 基线提供统计上下文,使SLO可度量、可比较、可预测

具体而言,基线在SLO台账中实现以下三个关键能力:

能力 基线输入 台账输出
偏差量化 当前指标 vs 基线分布 偏离程度(如:超出P99基线 2 个标准差)
趋势预测 基线时间序列 + 增长率 预计达到SLO预算耗尽的时间点
目标验证 历史基线统计量 SLO目标是否在系统能力范围内
常见误区:将基线等同于固定阈值。例如,将“P99延迟 < 500ms”作为基线。这种做法忽略了系统在不同时段、不同负载下的正常波动,会导致大量误告警或漏告警。正确的基线应包含时间窗口、统计分布和置信区间。

3.4 基线的动态演进

度量基线不是一次建立、永久使用的静态模型。随着系统演进,基线需要持续更新:

  • 版本发布后:新代码可能改变性能特征,基线需要重新校准。
  • 基础设施变更:迁移、扩缩容、配置调整后,基线分布可能偏移。
  • 业务模式变化:用户行为、流量来源、促销活动等改变指标模式。
  • 季节性周期:节假日、财报季、大促等特殊时段需要独立的基线模型。

下图展示了基线在SLO台账生命周期中的演进流程:

基线在SLO台账中的演进流程 基线采集 14-28天窗口 基线建模 统计分布+周期 基线应用 台账关联+检测 基线反馈 偏差率+漂移量 持续反馈与基线更新 基线演进周期建议: 日常更新(每日滑动窗口) | 重大变更后(立即重建) | 季度性(全量重新建模)
基线管理最佳实践:为每个SLO指标维护至少两个基线版本——短期基线(最近7天,用于实时检测)和长期基线(最近28天,用于趋势分析和SLO目标校准)。当短期基线偏离长期基线超过预设阈值时,触发基线漂移告警。