OpenTelemetry
你可能会说
日志、指标、链路三套 SDK,接入一遍要改三次代码?
可观测性的统一标准与 SDK一套 API 采集 traces / metrics / logs,导出到任意后端(Jaeger、Tempo、Prometheus);标准统一,后端可换。
也常被叫作OTel可观测性标准
什么时候选它
- 多语言服务统一埋点
- 想避免被单一可观测厂商锁定
- 需要 trace 串起跨服务调用
什么时候别选
- 只用一家全托管 APM 且不想自建
- 极小项目(日志就够)
- 团队没有采集后端和存储
容易混在一起 · 怎么分
OpenTelemetry≠厂商 SDK
OTel 标准中立、可换后端;厂商 SDK 接入快但迁移时埋点全部重写。
Q面试会问什么
- 问:trace 和 span 是什么?
答:一次请求是一个 trace,内部每段操作是一个 span,靠 traceId 串联,父子关系表达调用链。 - 问:和 Prometheus 的区别?
答:OTel 是采集标准和 SDK;Prometheus 是指标存储查询系统,也可作为 OTel 的指标后端。
延伸阅读 · 权威出处