1. 可观测性基础:三大支柱与采样必要性

1.1 可观测性三大支柱的定义

可观测性(Observability)是 SRE 和平台工程的核心能力,它通过对外输出数据的分析,推断系统内部状态。业界公认的三大数据支柱为:Metrics(指标)、Logs(日志)、Traces(链路)。三者各自独立又相互补充,共同构成完整的可观测性视图。

支柱 定义 典型数据 主要用途
Metrics 可聚合的数值型时间序列数据,描述系统在某一时刻的状态 CPU 使用率、QPS、P99 延迟、错误率 实时监控、告警、容量规划、仪表盘
Logs 带时间戳的离散事件记录,描述系统发生了什么 应用日志、访问日志、错误堆栈、审计日志 故障排查、审计合规、详细事件分析
Traces 端到端请求路径的分布式追踪,描述请求如何穿越多个服务 Span 树、服务依赖图、耗时分布、错误传播 性能瓶颈定位、依赖关系分析、分布式故障诊断
核心认知:三大支柱不是孤立的。Metrics 告诉你“哪里出了问题”,Logs 告诉你“具体发生了什么”,Traces 告诉你“问题是怎么传播的”。只有三者联动,才能实现真正的可观测性。

1.2 三大支柱的关系

三大支柱在数据形态、存储成本和查询模式上存在显著差异,但在实际排障中需要协同工作。下图展示了它们之间的典型关联关系:

可观测性三大支柱关系图 Metrics 数值聚合 · 低存储成本 Logs 离散事件 · 高存储成本 Traces 请求路径 · 极高存储成本 告警触发 上下文关联 协同工作流程: 1. Metrics 告警 → 发现延迟异常(如 P99 飙升) 2. Logs 查询 → 定位具体错误日志(如数据库超时) 3. Traces 追踪 → 找到完整请求链路,确认根因服务 Metrics GB/天 级别 Logs TB/天 级别 Traces TB~PB/天 级别
关键洞察:Traces 的数据量通常比 Metrics 高出 2~3 个数量级。一个高 QPS 的微服务系统,每天产生的 Span 数据可能达到 PB 级别,直接存储全部链路数据在成本上是不可接受的。

1.3 为什么需要采样

采样(Sampling)是控制可观测性数据量的核心手段。在分布式系统中,不采样会导致以下问题:

  • 存储成本失控:全量链路数据存储成本远超基础设施预算,尤其在高 QPS 场景下。
  • 网络带宽瓶颈:大量 Span 和 Log 数据从业务节点传输到后端,占用大量内网带宽。
  • 查询性能下降:海量数据导致查询响应变慢,影响排障效率。
  • 后端处理压力:Collector、存储引擎需要处理远超设计容量的数据,容易引发级联故障。

采样策略的目标是在数据保真度和成本控制之间找到平衡。下图展示了采样在数据管道中的位置:

采样在可观测性数据管道中的位置 应用服务 产生全量数据 SDK / Agent 头采样决策 Collector 尾采样决策 后端存储 仅存储采样数据 采样决策点: • 头采样(Head Sampling):在 SDK/Agent 侧立即决定是否采样,延迟低但缺乏全局上下文 • 尾采样(Tail Sampling):在 Collector 侧基于完整 Trace 信息决策,精度高但需要缓冲 • 混合策略:结合两者优势,头采样控制流量,尾采样保证关键链路完整性

1.4 采样的核心收益

维度 不采样 合理采样
存储成本 每月数十万 ~ 数百万美元 降低 80%~95%
网络带宽 占用大量业务带宽 控制在可接受范围
查询速度 秒级 ~ 分钟级响应 毫秒级 ~ 秒级响应
排障能力 数据完整但查询困难 关键链路完整,快速定位
运维复杂度 后端系统频繁过载 系统稳定,可预测
常见误区:采样不等于丢失数据。好的采样策略会优先保留错误链路、慢请求、高价值业务链路,同时丢弃正常且无异常的请求。采样率 1% 并不意味着只看到 1% 的问题,而是用 1% 的成本覆盖 99% 的异常场景。

1.5 本章小结

  • 三大支柱(Metrics、Logs、Traces)各自解决不同层面的可观测性问题,必须协同使用。
  • Traces 数据量巨大,是全量存储的主要成本来源,也是采样的主要对象。
  • 采样是必要手段,不是可选项。没有采样策略的可观测性系统,在规模增长后必然崩溃。
  • 采样决策点分为头采样和尾采样,后续章节将深入讲解 OTel 中的具体实现策略。