1. 课程导论:SLI与SLO基本概念、数据完整性在可观测性中的重要性、Collector的角色定位

1.1 从可靠性工程说起:为什么需要SLI与SLO

在站点可靠性工程(SRE)体系中,服务等级指标(SLI)与服务等级目标(SLO)是衡量系统健康度的核心量化工具。没有SLI/SLO,团队只能凭“感觉”判断系统是否稳定,而无法在故障发生时做出客观的降级决策。

概念 定义 典型示例
SLI 对服务某个维度的量化测量指标 请求延迟P99 ≤ 200ms、错误率 ≤ 0.1%
SLO SLI的目标阈值,通常以时间窗口内的达标率表示 过去30天内,99.9%的请求延迟P99 ≤ 200ms
错误预算 1 - SLO,代表可容忍的失效时间或次数 SLO 99.9% → 每月最多43分20秒不可用
关键认知:SLI是“测量什么”,SLO是“目标是多少”。两者共同构成可靠性决策的数据基础。如果SLI口径的数据本身不完整,SLO的达标率计算将毫无意义。

1.2 数据完整性:可观测性的“第一性原理”

可观测性(Observability)依赖于遥测数据(Metrics、Logs、Traces)的持续采集与分析。数据完整性是指这些遥测数据在采集、传输、处理、存储全链路中保持准确、完整、及时、一致的程度。

数据完整性在可观测性中的重要性体现在三个层面:

  1. SLI口径的准确性:若Collector丢失了5%的请求数据,计算出的错误率SLI可能从0.1%被错误地降为0.095%,导致SLO达标率虚高,掩盖真实风险。
  2. 故障定位的可靠性:不完整的数据会导致根因分析(RCA)出现盲区,例如缺失某条关键调用链,使团队误判故障源头。
  3. 成本与效率的平衡:过度采集保证完整性但浪费存储与带宽;采集不足则丢失信号。数据完整性管理是成本与可靠性的博弈。
常见误区:很多团队只关注“数据有没有”,而忽略了“数据全不全”。例如,Collector在高峰期因背压丢弃数据包,但监控面板上仍显示“正常”,这种静默丢数据是SLI口径最大的隐形杀手。

1.3 Collector的角色定位:遥测数据的第一道关口

在主流可观测性架构(如OpenTelemetry)中,Collector(采集器)位于数据源与后端存储之间,承担着接收、处理、导出遥测数据的核心职责。它不再是简单的“转发代理”,而是数据治理策略的执行者。

Collector 在可观测性架构中的核心位置 应用 / 服务 基础设施 / 中间件 外部依赖 / 第三方 Collector 接收 → 处理 → 导出 (数据完整性控制点) 批处理 / 采样 / 过滤 / 重试 指标存储 日志存储 链路存储 🔍 Collector 的数据完整性职责: • 确保所有接收到的遥测数据被正确解析,不因格式错误而丢弃 • 在背压或网络故障时实现可靠重试与队列缓冲,避免数据丢失 • 对采样、过滤、聚合等操作进行可观测性审计,记录丢弃/采样率

1.4 Collector配置与SLI数据完整性的直接关联

Collector的配置项直接决定了SLI口径数据的覆盖率、准确率与时效性。以下是几个典型配置维度对数据完整性的影响:

配置维度 典型参数 对SLI数据完整性的影响
批处理 batch.timeout、batch.size 超时或大小设置不当可能导致数据积压或过早发送,影响延迟SLI的准确性
采样策略 sampling.ratio、head-based 采样率过低会使错误率SLI失去统计意义;非一致性采样会扭曲延迟分布
重试与队列 retry.max_elapsed_time、queue.size 队列溢出或重试超时导致数据丢弃,直接降低SLI口径的完整性
过滤规则 filter.include、filter.exclude 过滤条件过于宽泛可能误删关键SLI数据,导致SLO达标率虚高
课程核心命题:本课程将深入分析Collector的每一项配置如何影响SLI口径的数据完整性,并提供可落地的配置优化策略与监控手段,帮助SRE团队在数据完整性与资源成本之间找到最佳平衡点。

1.5 本章小结

  • SLI/SLO 是可靠性工程的量化基石,其准确性高度依赖底层数据的完整性。
  • 数据完整性 是可观测性的第一性原理,缺失或失真数据会导致错误的运维决策。
  • Collector 作为遥测数据的第一道关口,其配置直接决定了SLI口径数据的质量。
  • 后续章节将逐一拆解Collector的批处理、采样、重试、过滤等配置项,量化评估其对数据完整性的影响。