OpenTelemetry(OTEL)

文档地址 https://opentelemetry.io/docs/concepts/what-is-opentelemetry

OpenTelemetry(OTel)是一个开源的可观测性框架,旨在标准化telemetry数据(如日志、指标和追踪)的收集和传输。

OTel的主要功能和组件:

  • 跨语言支持: OTel支持多种编程语言,包括Go、Java、Python、JavaScript等。

  • 分布式追踪(Distributed Tracing):

    • 允许跟踪请求在分布式系统中的流转

    • 提供详细的性能分析和问题定位能力

  • 指标(Metrics):

    • 收集各种数值型指标,如请求数、错误率、响应时间等

    • 支持自定义指标的创建和收集

  • 日志(Logging):

    • 虽然OTel本身不提供日志API,但它可以与现有的日志系统集成

    • 通过关联日志与追踪,提供更全面的上下文信息

  • 上下文传播(Context Propagation):

    • 在分布式系统的不同服务间传递追踪上下文

    • 支持W3C TraceContext等标准格式

  • 采样(Sampling):

    • 提供多种采样策略,以控制数据量和性能开销

  • OpenTelemetry Collector:

    • 集中式组件,用于接收、处理和导出遥测数据

    • 支持多种数据格式和协议的转换

  • 自动检测(Auto-instrumentation):

    • 为常见框架和库提供自动检测能力,减少手动埋点工作

  • 可扩展性:

    • 支持自定义导出器、处理器和采样器

    • 可以与各种后端系统集成,如Jaeger、Prometheus、Zipkin等

  • 资源和语义约定:

    • 定义了标准的资源属性和语义约定,确保数据的一致性和可互操作性

最后更新于