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)的持续采集与分析。数据完整性是指这些遥测数据在采集、传输、处理、存储全链路中保持准确、完整、及时、一致的程度。
数据完整性在可观测性中的重要性体现在三个层面:
- SLI口径的准确性:若Collector丢失了5%的请求数据,计算出的错误率SLI可能从0.1%被错误地降为0.095%,导致SLO达标率虚高,掩盖真实风险。
- 故障定位的可靠性:不完整的数据会导致根因分析(RCA)出现盲区,例如缺失某条关键调用链,使团队误判故障源头。
- 成本与效率的平衡:过度采集保证完整性但浪费存储与带宽;采集不足则丢失信号。数据完整性管理是成本与可靠性的博弈。
常见误区:很多团队只关注“数据有没有”,而忽略了“数据全不全”。例如,Collector在高峰期因背压丢弃数据包,但监控面板上仍显示“正常”,这种静默丢数据是SLI口径最大的隐形杀手。
1.3 Collector的角色定位:遥测数据的第一道关口
在主流可观测性架构(如OpenTelemetry)中,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的批处理、采样、重试、过滤等配置项,量化评估其对数据完整性的影响。