3. 台账度量基线概述
在SRE实践中,度量基线(Metric Baseline)是指系统在正常、稳定运行状态下,关键指标所呈现的统计分布与行为模式。它不是一条静态的阈值线,而是一组描述“健康状态”的多维参考模型。理解基线是构建有效SLO台账的前提。
3.1 什么是度量基线
度量基线是对系统“正常”行为的量化描述。它通常包含以下核心要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 中心趋势 | 指标在稳定期的典型值,如均值、中位数 | P50 延迟 = 120ms |
| 离散程度 | 指标波动的正常范围,如标准差、P90/P99 | P99 延迟 = 450ms |
| 时间模式 | 日/周/月周期性规律 | 白天流量是夜间的 3.2 倍 |
| 事件关联 | 与部署、发布、扩缩容等操作的相关性 | 部署后错误率上升 0.5% 持续 5 分钟 |
关键认知:基线不是固定阈值。它随业务周期、系统版本、基础设施变化而动态演进。一个有效的基线模型必须包含时间窗口和统计置信度。
3.2 为什么需要基线
没有基线,SLO台账中的度量数据就失去了参照系。基线在以下四个层面提供不可替代的价值:
- 异常检测的锚点:只有知道“正常”是什么,才能准确判断“异常”。基线提供统计意义上的正常区间,避免依赖拍脑袋的固定阈值。
- 容量规划的输入:通过基线趋势分析,可以预测资源消耗的增长速率,提前进行扩容或架构优化。
- 变更影响的量化:对比变更前后的基线偏移量,客观评估发布、配置修改、架构调整对系统稳定性的实际影响。
- SLO目标设定的依据:合理的SLO目标必须基于历史基线数据。脱离基线的SLO要么过于激进(频繁告警),要么过于宽松(失去意义)。
实践建议:在建立SLO台账的初期,至少收集 14 天以上的基线数据。对于有明显周期性的业务(如电商、社交),建议覆盖完整的业务周期(如 28 天)。
3.3 基线在SLO台账中的作用
在SLO台账体系中,度量基线扮演着“度量标尺”和“趋势参照”的双重角色。下图展示了基线如何嵌入SLO台账的核心流程:
具体而言,基线在SLO台账中实现以下三个关键能力:
| 能力 | 基线输入 | 台账输出 |
|---|---|---|
| 偏差量化 | 当前指标 vs 基线分布 | 偏离程度(如:超出P99基线 2 个标准差) |
| 趋势预测 | 基线时间序列 + 增长率 | 预计达到SLO预算耗尽的时间点 |
| 目标验证 | 历史基线统计量 | SLO目标是否在系统能力范围内 |
常见误区:将基线等同于固定阈值。例如,将“P99延迟 < 500ms”作为基线。这种做法忽略了系统在不同时段、不同负载下的正常波动,会导致大量误告警或漏告警。正确的基线应包含时间窗口、统计分布和置信区间。
3.4 基线的动态演进
度量基线不是一次建立、永久使用的静态模型。随着系统演进,基线需要持续更新:
- 版本发布后:新代码可能改变性能特征,基线需要重新校准。
- 基础设施变更:迁移、扩缩容、配置调整后,基线分布可能偏移。
- 业务模式变化:用户行为、流量来源、促销活动等改变指标模式。
- 季节性周期:节假日、财报季、大促等特殊时段需要独立的基线模型。
下图展示了基线在SLO台账生命周期中的演进流程:
基线管理最佳实践:为每个SLO指标维护至少两个基线版本——短期基线(最近7天,用于实时检测)和长期基线(最近28天,用于趋势分析和SLO目标校准)。当短期基线偏离长期基线超过预设阈值时,触发基线漂移告警。