Skip to content

OpenTelemetry 入门:采集、关联与导出遥测数据 ​

修订于 2026-10-12。这里介绍架构与检查项,不提供未经实测的性能提升数字。

OpenTelemetry(OTel)是生成、采集和导出遥测数据的开放规范与工具集。它帮助应用以较统一的方式提供追踪、指标和日志;最终的查询、展示、保留和告警仍取决于所用后端。

采集链路 ​

应用可以通过 SDK 或自动埋点生成数据,再直接导出或交给 Collector 处理。Collector 可接收、处理和导出数据;处理环节可以做过滤、批量发送、属性变换等操作。引入 Collector 增加了一个运维组件,应监控其队列、丢弃量和导出错误。

Trace 表示请求路径,Span 记录其中的工作单元。跨服务传播 trace context 才能把路径连起来。Metric 适合观察聚合趋势;Log 记录事件细节。必要时在日志中带上 trace ID,才能从某次请求跳到相关事件。

上线检查 ​

  • 统一服务名、部署环境和版本属性,避免不同服务混为一谈。
  • 验证入口、异步消息和外部调用的上下文传播,防止链路断裂。
  • 按流量与故障定位需要设置采样;采样不是“越高越好”。
  • 检查高基数属性、敏感信息和数据保留成本。
  • 用一次已知请求确认 trace、指标和日志能互相定位。
  • 模拟导出后端不可用,确认应用不会因此无限阻塞。

需要先设计业务目标和排障流程,再决定收集哪些数据。《可观测性体系》提供从症状到定位的整体方法。

参考资料 ​

梧桐和风 · 让复杂的技术讲得更清楚