OpenTelemetry - 云原生的观测技术框架

OpenTelemetry 是什么

是一个实现应用行为和性能观测的框架,目前已成为 CNCF 应用的事实标准。OpenTelemetry 定义了一组工具,帮助开发者生成各维度基础数据和对数据进行统计分析,支持多种技术栈。

值得一提的是,OpenTelemetry 目前同样是一个 CNCF 孵化项目,Github 地址 https://github.com/open-telemetry,感兴趣的同学可以学习源码。

OpenTelemetry 的特性

Traces、Metrics、Logs

支持 Traces、Metrics、Logs 三类数据的收集和导入分析工具。

简单易用

支持 Spring、ASP.NET Core 等等一系列主流开发框架。

开源,云服务商

100% 开源,主流云服务商务都已支持,这里 https://opentelemetry.io/vendors/ 有一个所有支持 OpenTelemetry 的云厂商列表。

OpenTelemetry 使用入门

这里给出了 OpenTelemetry 的各技术栈使用手册,非常详尽。 https://opentelemetry.io/docs/instrumentation/

大家可以使用最主流的 Java 开发语言体验一下,这个例子实现了一个 RPC 调用的追踪,细节大家可以实践一下文档中给出的示例。

OpenTelemetry 的未来

个人认为 OpenTelemetry 的未来还是非常光明的,主要是由于这个方向是未来的趋势所在。当前对应用的运维方式主要是来自于 SRE 的定义,这种定义往往是普适的、滞后的,意味着和业务往往是脱节的。所以,OpenTelemetry 其实是把运维方式的定义能力抽象出来,让最懂业务的人来设定观测应用的哪些维度以及观测的方式,SRE 只需要建设好观测系统的基础设施即可。当然,一些普适的观测规则模板的维护还是 SRE 的日常工作。

经验分享 程序员 微信小程序 职场和发展