error budget消耗分析:SLO台账故障排查思路 - 第1节

1.1 从用户感受到工程指标:SLO 的核心定位

在可观测性与 SRE 实践中,SLO(Service Level Objective,服务等级目标)是连接用户体验与工程运维的“契约线”。它不是一个单纯的百分比数字,而是团队对用户承诺的量化表达。要理解 SLO,必须先厘清它与 SLI、Error Budget 的三角关系。

核心公式: Error Budget = 1 − SLO。当系统实际可用性低于 SLO 时,Error Budget 被消耗殆尽,团队应停止发布新功能,优先恢复稳定性。

1.1.1 三要素定义速览

术语 英文全称 一句话定义 示例
SLI Service Level Indicator 服务质量的直接测量指标 请求延迟 P99 ≤ 200ms
SLO Service Level Objective 对 SLI 的目标阈值承诺 99.9% 的请求延迟 ≤ 200ms
Error Budget Error Budget 允许服务“不合格”的容忍窗口 每月最多 43 分钟不可用

1.1.2 三者的层级关系

SLI 是原始观测数据,SLO 是目标边界,Error Budget 是管理工具。三者形成从“测量”到“承诺”再到“行动”的闭环:

  • SLI → SLO: 从原始指标中选取最能反映用户体验的维度,设定目标阈值。
  • SLO → Error Budget: 用 1 − SLO 计算出可容忍的故障时间或错误比例。
  • Error Budget → 决策: 消耗速度决定发布节奏与故障响应优先级。
SLO / SLI / Error Budget 三角关系 SLI 服务等级指标 SLO 服务等级目标 Error Budget 错误预算 关系说明 SLI 是输入 → SLO 是阈值 → Error Budget 是管理杠杆 Error Budget = 1 − SLO(时间窗口内)

1.2 Error Budget:从数学定义到工程行动

1.2.1 数学定义与计算示例

Error Budget 的计算基于 SLO 与时间窗口。以最常见的“月度可用性”为例:

Error Budget(分钟) = 总分钟数 × (1 − SLO)

示例:
SLO = 99.9%(三个9)
月度总分钟 = 30天 × 24小时 × 60分钟 = 43,200 分钟
Error Budget = 43,200 × (1 − 0.999) = 43.2 分钟

含义:该服务每月最多允许 43.2 分钟处于“不符合 SLO”的状态。
常见误区: Error Budget 不是“故障时间配额”,而是“不符合 SLO 的累计时间”。一次 5 分钟的 P0 故障可能消耗 5 分钟预算,但 100 次 3 秒的慢请求(P99 超标)同样会消耗预算。监控时必须同时关注持续故障与毛刺。

1.2.2 不同 SLO 级别的 Error Budget 对比

SLO 目标 月度 Error Budget 年度 Error Budget 典型场景
99.9%(3个9) 43.2 分钟 8.76 小时 内部工具、非关键业务
99.95%(3.5个9) 21.6 分钟 4.38 小时 标准在线服务
99.99%(4个9) 4.32 分钟 52.56 分钟 核心支付、实时通信
99.999%(5个9) 25.9 秒 5.26 分钟 金融交易、基础设施控制面

1.3 SLI 的选择:Error Budget 的“测量探头”

Error Budget 的质量完全取决于 SLI 的选择。如果 SLI 不能反映真实用户体验,Error Budget 就只是一个数字游戏。SRE 实践中推荐以下四类黄金信号 SLI:

  • 延迟(Latency): 请求响应时间,通常取 P50/P95/P99。
  • 流量(Traffic): 每秒请求数(RPS)或并发连接数。
  • 错误(Errors): HTTP 5xx、超时、业务错误码。
  • 饱和度(Saturation): CPU/内存/连接池使用率。
关键原则: SLI 必须从“用户视角”定义。例如,数据库查询延迟的 SLI 应测量“用户请求到响应”的全链路延迟,而非仅数据库内部耗时。否则 Error Budget 可能显示正常,但用户已经感知到卡顿。
SLI 黄金信号 → Error Budget 映射 延迟 P99 ≤ 200ms 流量 RPS 峰值 错误 5xx < 0.1% 饱和度 CPU < 80% SLO 目标 99.9% 达标 Error Budget

1.4 核心关系总结:Error Budget 是 SRE 的“油门与刹车”

理解 SLO 与 Error Budget 的关系,是后续故障排查与台账分析的基础。以下表格总结了三个核心概念在 SRE 工作流中的角色差异:

维度 SLI SLO Error Budget
角色 测量仪表 目标线 管理预算
时间粒度 秒级/分钟级 月度/季度 滚动窗口
典型告警 SLI 偏离基线 SLO 濒临违约 Budget 消耗 > 50%
行动触发 排查根因 升级响应 冻结发布
业务语言 “系统响应慢了” “我们承诺了 99.9%” “还剩 20 分钟故障额度”