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等
资源和语义约定:
定义了标准的资源属性和语义约定,确保数据的一致性和可互操作性
最后更新于