1. 课程导论:SLI 与 SLO 的基本概念、Collector 在可观测性中的角色、配置对数据采集的影响概述

1.1 从可靠性度量到可观测性数据管道

在 SRE 实践中,服务等级指标(SLI)与服务等级目标(SLO)是衡量系统可靠性的核心标尺。SLI 是对服务质量的直接量化,例如请求延迟、错误率、吞吐量;SLO 则是这些指标的目标阈值,例如“99.9% 的请求在 200ms 内完成”。然而,SLI 口径数据的质量完全取决于底层采集链路的准确性——这正是 Collector 扮演的关键角色。

核心认知:SLI 是“测量什么”,SLO 是“目标多少”,而 Collector 配置决定了“能否测准”。配置不当会导致 SLI 数据失真,进而使 SLO 告警失效或误报。
SLI、SLO 与 Collector 配置的三角关系 SLI 服务等级指标 SLO 服务等级目标 Collector 配置 数据采集管道 配置影响链路:采样率 → 聚合窗口 → 标签维度 → 指标口径 任何环节的配置偏差都会直接传导至 SLI 计算,最终影响 SLO 达标判定

1.2 SLI 与 SLO 的核心概念对比

维度 SLI(服务等级指标) SLO(服务等级目标)
定义 对服务质量的量化测量值 SLI 应达到的目标阈值或范围
常见示例 请求延迟 P99、错误率、可用性 P99 延迟 ≤ 200ms、错误率 < 0.1%
数据来源 Collector 采集的原始指标 基于 SLI 数据计算的目标边界
配置敏感性 高——采样率、聚合方式直接影响数值 中——目标值设定依赖 SLI 口径稳定性
典型问题 采集遗漏、标签丢失、时间戳偏差 目标过松/过紧、燃烧速率误判

1.3 Collector 在可观测性架构中的角色

Collector 是连接数据源与可观测性后端的中间层组件。它负责从应用、基础设施、网络设备等源头拉取或接收遥测数据,执行预处理、聚合、过滤、采样、标签增强等操作,最终将数据转发到存储或分析系统。在 SLI 口径数据采集场景中,Collector 承担以下核心职责:

  • 数据接收:支持多种协议(OTLP、Prometheus Remote Write、StatsD、Jaeger 等)
  • 数据处理:执行指标聚合、降采样、标签操作、数据质量校验
  • 数据路由:根据配置将不同 SLI 数据分发到对应后端(如 Prometheus、Datadog、Grafana)
  • 数据缓冲:在网络抖动或后端不可用时提供临时存储,防止 SLI 数据丢失
关键洞察:Collector 配置直接决定了 SLI 数据的完整性(是否丢失维度)、准确性(聚合窗口是否合理)和时效性(采集间隔与延迟)。一个错误的采样率配置可能导致 SLO 燃烧速率计算偏差超过 50%。
Collector 在可观测性数据流中的位置 数据源 应用 / 基础设施 Collector 接收 → 处理 → 路由 聚合 / 采样 / 标签 缓冲 / 重试 可观测性后端 存储 / 告警 / 分析 配置文件 YAML / TOML / 环境变量 配置影响 SLI 口径的每个环节 采样率 → 聚合窗口 → 标签保留 → 指标命名

1.4 配置对数据采集的影响概述

Collector 配置并非“一次设置,永久有效”。不同的 SLI 口径对数据采集有截然不同的要求。以下是配置影响最显著的几个维度:

  1. 采样率配置:决定采集数据的密度。高采样率增加精度但消耗资源;低采样率可能遗漏关键事件,导致 SLI 计算偏差。
  2. 聚合窗口与降采样:影响 SLI 的时间粒度。窗口过大会掩盖短时故障,窗口过小则产生噪声。
  3. 标签(Label)保留策略:决定 SLI 的可分组维度。丢失关键标签(如 region、service_version)将无法进行细粒度 SLO 分析。
  4. 指标命名与归一化:影响 SLI 口径的跨系统一致性。命名冲突或单位错误会导致 SLO 计算完全失效。
  5. 缓冲与重试机制:影响数据完整性。配置不当可能导致网络抖动时 SLI 数据永久丢失。
常见陷阱:许多团队在配置 Collector 时只关注“能否采集到数据”,而忽略了“采集到的数据是否满足 SLI 口径要求”。例如,使用默认的 60 秒聚合窗口来计算 P99 延迟 SLI,当服务出现 10 秒级的突发延迟时,该窗口会完全掩盖问题,导致 SLO 告警延迟数分钟。

1.5 配置影响链:从原始数据到 SLO 判定

为了直观展示配置如何逐级影响 SLI 口径,以下表格梳理了从数据采集到 SLO 判定的完整链路:

链路阶段 关键配置项 对 SLI 口径的影响 典型风险
数据接收 接收协议、端口、认证 数据源能否成功接入 协议不匹配导致数据丢失
数据预处理 采样率、过滤规则 数据密度与代表性 低采样率遗漏异常事件
聚合与降采样 聚合窗口、聚合函数 SLI 的时间粒度与统计精度 窗口过大掩盖短时故障
标签处理 标签保留/删除/重命名 SLI 的可分组维度 丢失关键标签无法定位
数据路由 后端地址、队列大小 数据能否到达存储系统 路由错误导致数据黑洞
缓冲与重试 缓冲区大小、重试次数 数据完整性保障 缓冲溢出导致数据丢弃