我们使用 OpenTelemetry 作为解决方案已经有一段时间了,并且在之前的雷达中推荐试用。它能够在多个服务和应用之间无缝地捕获、检测和管理遥测数据,从而改善我们的观察堆栈。OpenTelemetry 的灵活性和与多样化环境的兼容性使其成为我们工具包中有价值的补充。目前,我们对最近发布的 OpenTelemetry Protocol (OTLP) 特别感兴趣,该规范包括了 gRPC 和 HTTP 两种协议。这一协议标准化了遥测数据的格式和传输方式,促进了互操作性并简化了与其他监控和分析工具的集成。随着我们继续探索该协议的集成潜力,我们正在评估它对我们的监控和可观察性策略以及整个监控领域的长期影响。
OpenTelemetry 是一个开源可观测性项目,它合并了OpenTracing 和 OpenCensus。OpenTelemetry 项目包含规范、库、代理和其他组件,以便从服务中捕获遥测信息,更好地观察、管理和调试服务。它涵盖了可观测性的三大支柱——分布式跟踪、指标和日志记录(目前处于 beta 测试版),且其规范通过correlations连接这三大支柱。这样就可以使用指标 来查明问题,找到相应的 跟踪 信息,以定位问题,并最终研究相应的 日志 ,以查找确切的根本原因。 OpenTelemetry 组件可以连接到后端可观察性系统,例如 Prometheus 、 Jaeger 及其他 系统。OpenTracing 的形成,是朝着融合标准化与工具简化而迈出的积极一步。
As monolithic applications are being replaced with more complex (micro)service ecosystems, tracing requests across multiple services is becoming the norm. With majority contribution from LightStep and Uber OpenTracing is rapidly becoming the de facto standard for distributed tracing. There is a growing number of tracers supporting OpenTracing standard, including Zipkin, Instana, and Jaeger. OpenTracing currently provides vendor-neutral implementation in multiple languages including: Go, JavaScript, Java, Python, Objective-C, C#, C++, Ruby and PHP.
As monolithic applications are being replaced with more complex (micro)service ecosystems, tracing requests across multiple services is becoming the norm. With majority contribution from LightStep and Uber OpenTracing is rapidly becoming the de facto standard for distributed tracing. There is a growing number of tracers supporting OpenTracing standard, including Zipkin, Instana, and Jaeger. OpenTracing currently provides vendor-neutral implementation in multiple languages including: Go, JavaScript, Java, Python, Objective-C, C#, C++, Ruby and PHP.