SLI指标采集实战:为SLO可靠性运营构建精准数据底座 - 第1节

1.1 从可靠性承诺到可度量指标

在站点可靠性工程(SRE)体系中,SLO(Service Level Objective,服务等级目标)与SLI(Service Level Indicator,服务等级指标)是构建数据驱动可靠性运营的两大基石。简单来说:SLI 是“测量什么”,SLO 是“目标值是多少”,Error Budget 则是“允许出错的余量”。三者形成闭环,让可靠性从模糊的“尽量不宕机”变为可量化、可追踪、可决策的工程实践。

核心关系速记:SLI 是原始测量数据 → SLO 是目标阈值 → Error Budget 是 SLI 与 SLO 之间的偏差容忍空间。

1.1.1 定义与职责

术语 英文全称 定义 典型示例
SLI Service Level Indicator 对服务某个维度的量化测量指标,通常为比率或百分比 请求成功率 99.95%、P99 延迟 ≤ 200ms
SLO Service Level Objective SLI 必须达到的目标阈值,是团队对用户承诺的可靠性边界 月度请求成功率 ≥ 99.9%
Error Budget Error Budget 在 SLO 允许范围内可接受的失败总量(1 - SLO) 若 SLO = 99.9%,则 Error Budget = 0.1% 的总请求量

1.1.2 三者的闭环关系

SLI 是原始观测数据,SLO 是目标红线,Error Budget 是运营决策的“货币”。当 Error Budget 充足时,团队可以更激进地发布新功能;当 Error Budget 消耗过快时,必须暂停发布、优先修复稳定性。这种机制将可靠性从“被动救火”转变为“主动预算管理”。

SLI → SLO → Error Budget 闭环关系 SLI 服务等级指标 (原始测量数据) SLO 服务等级目标 (目标阈值) Error Budget 错误预算 (容忍余量) 定义目标 计算余量 预算消耗驱动采集精度与指标调整 闭环运营价值 SLI 采集越精准 → SLO 越可信 → Error Budget 越可决策 反之,采集偏差会导致错误预算失真,可靠性决策失效

1.2 为什么需要精准采集?

SLI 是 SLO 和 Error Budget 的“原材料”。如果原材料(SLI 数据)存在偏差、遗漏或延迟,那么基于它计算出的 SLO 达成率、Error Budget 消耗速度都将失去可信度。精准采集不是“锦上添花”,而是 SRE 可靠性运营的必要前提。

1.2.1 不精准采集的典型后果

  • SLO 虚高或虚低:漏采失败请求会导致 SLO 虚高,团队误以为系统很稳定,实际用户已感知异常。
  • Error Budget 失真:采集窗口不完整或采样偏差,导致错误预算消耗速度计算错误,发布决策失误。
  • 告警风暴或告警沉默:指标采集粒度太粗,无法及时反映真实故障;采集过于频繁且无降噪,则引发告警疲劳。
  • 归因困难:缺乏多维标签(如地域、版本、机房),故障定位时无法快速缩小范围。
常见误区:很多团队认为“只要采集了 Prometheus 默认指标就算有 SLI”。实际上,默认指标往往缺少业务语义(如“登录成功率”),且采集频率、聚合方式、标签设计都可能与真实 SLO 需求脱节。

1.2.2 精准采集的三大维度

维度 说明 反例 正例
完整性 覆盖所有关键用户请求路径,不遗漏失败或超时 只采集 200 状态码,忽略 5xx 和超时 采集所有 HTTP 状态码 + 客户端超时 + 连接错误
准确性 测量值与真实值之间的误差在可接受范围内 使用 60s 聚合窗口掩盖瞬时故障 使用 10s 窗口 + 滑动窗口计算,保留原始分布
一致性 不同服务、不同版本的采集口径统一 A 服务用成功率,B 服务用错误数 统一使用“成功请求 / 总请求”比率,标签规范一致

1.3 从理论到实战:SLI 采集的典型流程

精准采集不是一次性配置,而是一个持续迭代的过程。以下是标准 SLI 采集流程的四个关键步骤:

  1. 定义用户旅程:识别对用户最重要的请求路径(如登录、搜索、下单)。
  2. 选择 SLI 类型:根据业务特性选择可用性、延迟、吞吐量或正确性指标。
  3. 设计采集方案:确定数据源(代理、SDK、日志)、采集频率、聚合窗口、标签体系。
  4. 验证与校准:通过灰度对比、人工抽样、异常检测等方式验证采集数据的准确性。
SLI 精准采集四步流程 ① 定义用户旅程 识别关键请求路径 ② 选择 SLI 类型 可用性/延迟/吞吐量 ③ 设计采集方案 数据源/频率/标签 ④ 验证与校准 灰度对比/异常检测 持续迭代:验证发现问题后返回步骤①或③调整 关键原则 采集方案必须与 SLO 定义对齐,避免“采集了但用不上”或“需要时发现没采集”

1.4 本章小结

  • SLI 是原始测量数据,SLO 是目标阈值,Error Budget 是运营决策的容忍余量,三者构成可靠性运营的闭环。
  • 精准采集是 SLO 可信的前提,不精准的采集会导致 SLO 虚高、Error Budget 失真、告警失效等严重后果。
  • 精准采集需要关注完整性、准确性、一致性三大维度,并通过“定义用户旅程 → 选择 SLI 类型 → 设计采集方案 → 验证与校准”四步流程持续迭代。
实战提示:在开始采集之前,先问自己三个问题:① 这个 SLI 对应哪个用户操作?② 采集频率能否捕捉到用户感知的异常?③ 如果数据偏差 5%,我的 SLO 决策会受影响吗?这三个问题能帮你快速判断采集方案的合理性。