OpenTelemetry

OpenTelemetry

CNCF开源可观测性标准,统一采集追踪、指标与日志三类信号

核心功能

由OpenTracing与OpenCensus合并而成,提供统一API、多语言SDK、OTLP协议与独立Collector网关,厂商中立不绑定后端。配套GenAI语义约定为LLM调用、MCP等定义标准span与指标命名,覆盖OpenAI、Anthropic、Bedrock等系统。

功能亮点

统一标准API

一套API与命名约定覆盖各语言与后端,避免厂商锁定

GenAI约定

为LLM调用与MCP定义标准span、指标,跨工具对齐

采集网关

独立代理接收处理转发遥测数据,支持自定义扩展

零侵入自动插桩

框架依赖自动产生遥测数据,无需改业务代码

自定义模型 / 模型接入

模型无关

观测层标准不绑定LLM,GenAI语义约定统一描述OpenAI、Anthropic等调用,只需按OTLP协议上报即可接入任意厂商或自建网关。

接入方式
  • OTEL_SERVICE_NAME 指定服务名
  • OTEL_EXPORTER_OTLP_ENDPOINT 设置上报端点
  • gen_ai.operation.name/gen_ai.system 等span属性
  • collector config.yaml 配置接收器与导出器
支持模型
OpenAIAnthropicAWS BedrockAzure OpenAIGoogle GeminiMCP
bash
GenAI 约定不依赖具体厂商,把 LLM 调用以 OTLP 上报即可接入自建网关:
export OTEL_SERVICE_NAME=my-llm-app
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
opentelemetry-instrument --traces_exporter otlp --logs_exporter otlp python app.py

适用场景

• 微服务调用链追踪排障
• LLM应用接入GenAI语义约定
• 统一多后端观测数据格式
• K8s集群指标日志采集

安装配置

bash
pip install opentelemetry-distro
pip install opentelemetry-exporter-otlp
自动插桩依赖:opentelemetry-bootstrap -a install

使用方法

opentelemetry-instrument --traces_exporter otlp --metrics_exporter otlp --service_name my-app flask run -p 8080,遥测默认经OTLP/gRPC发往 localhost:4317;代码内用 trace.get_tracer("demo.tracer") 手动埋点。

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标OpenTelemetry
价格免费
开源
上手难度专家

相关工具

优点

  • CNCF标准,生态庞大
  • 厂商中立,数据自持
  • 多语言与框架覆盖广
  • 自动插桩零侵入

缺点

  • 需自建后端与可视化
  • 概念体系较复杂
  • GenAI约定仍快速演进