Appearance
OpenTelemetry 入门:采集、关联与导出遥测数据
修订于 2026-10-12。这里介绍架构与检查项,不提供未经实测的性能提升数字。
OpenTelemetry(OTel)是生成、采集和导出遥测数据的开放规范与工具集。它帮助应用以较统一的方式提供追踪、指标和日志;最终的查询、展示、保留和告警仍取决于所用后端。
采集链路
应用可以通过 SDK 或自动埋点生成数据,再直接导出或交给 Collector 处理。Collector 可接收、处理和导出数据;处理环节可以做过滤、批量发送、属性变换等操作。引入 Collector 增加了一个运维组件,应监控其队列、丢弃量和导出错误。
Trace 表示请求路径,Span 记录其中的工作单元。跨服务传播 trace context 才能把路径连起来。Metric 适合观察聚合趋势;Log 记录事件细节。必要时在日志中带上 trace ID,才能从某次请求跳到相关事件。
上线检查
- 统一服务名、部署环境和版本属性,避免不同服务混为一谈。
- 验证入口、异步消息和外部调用的上下文传播,防止链路断裂。
- 按流量与故障定位需要设置采样;采样不是“越高越好”。
- 检查高基数属性、敏感信息和数据保留成本。
- 用一次已知请求确认 trace、指标和日志能互相定位。
- 模拟导出后端不可用,确认应用不会因此无限阻塞。
需要先设计业务目标和排障流程,再决定收集哪些数据。《可观测性体系》提供从症状到定位的整体方法。