02.1、OpenTelemetry是什么
OpenTelemetry 是什么
在前面的章节中,我们了解了可观察性的概念和价值。现在我们要深入学习 OpenTelemetry,这是实现可观察性的核心工具。
本节将学习:OpenTelemetry 是什么?它作为 CNCF 毕业项目的地位?它作为供应商中立标准的意义?以及它在行业中的采用情况。
OpenTelemetry 的定义
OpenTelemetry 是什么? 它是一个开源的、供应商中立的可观察性框架,用于生成、收集和导出 Traces、Metrics 和 Logs。
这个定义有几个关键词:
第一个关键词:开源。 OpenTelemetry 是完全开源的,社区驱动的项目。这意味着可以自由使用、修改和贡献。
第二个关键词:供应商中立。 OpenTelemetry 不绑定任何供应商。可以使用任何后端存储,比如 Prometheus、Loki、Tempo,或者 Grafana Stack。不会被某个供应商锁定。
第三个关键词:标准化。 OpenTelemetry 提供了统一的数据格式和 API。无论使用什么语言、什么框架,都可以使用相同的 API。这样就可以统一管理可观察性数据。
第四个关键词:多语言支持。 OpenTelemetry 支持多种编程语言,比如 Java、Python、Go、JavaScript、.NET 等等。这样就可以在不同的服务中使用相同的可观察性框架。
第五个关键词:可扩展。 OpenTelemetry 支持自定义插件和扩展。可以根据自己的需求定制和扩展。
这就是 OpenTelemetry,一个强大的可观察性框架。
CNCF 毕业项目的地位
CNCF 是什么? Cloud Native Computing Foundation,云原生计算基金会。它是由 Linux 基金会支持的非营利组织,致力于推动云原生技术的发展。
CNCF 毕业项目有什么特点? 首先,它必须是成熟稳定的。其次,它必须被广泛采用。第三,它的社区必须活跃。第四,它必须是生产就绪的。能够成为 CNCF 毕业项目,说明这个项目非常成熟和可靠。
OpenTelemetry 的 CNCF 地位: OpenTelemetry 在 2022 年成为 CNCF 毕业项目。这说明了什么?说明它已经非常成熟和稳定,被广泛采用,社区活跃,生产就绪。
CNCF 毕业项目都有哪些? Kubernetes、Prometheus、Envoy、CoreDNS,这些都是大名鼎鼎的项目。OpenTelemetry 和它们一样,也是 CNCF 毕业项目,说明它的地位非常重要。
这就是 OpenTelemetry 作为 CNCF 毕业项目的意义。它不是一个实验性的项目,而是一个成熟、稳定、可靠的项目,可以放心在生产环境中使用。
供应商中立标准的意义
传统可观察性的问题是什么? 首先,供应商锁定。选择了某个供应商的可观察性工具,就被它锁定了。其次,切换成本高。如果想切换供应商,需要重写代码,迁移数据,成本非常高。第三,数据格式不统一。不同供应商的数据格式不同,无法统一处理。第四,无法跨平台使用。某个供应商的工具只能在某个平台上使用。
OpenTelemetry 的解决方案是什么? 首先,供应商中立,不绑定任何供应商。可以使用任何后端存储。其次,统一的数据格式和 API。无论使用什么后端,数据格式都是一样的。第三,支持多种后端存储,比如 Prometheus、Loki、Tempo、Grafana Stack,或者其他存储。第四,可以随时切换供应商。只需要切换导出器,不需要修改应用代码。
这就是供应商中立标准的意义。不会被某个供应商锁定,可以自由选择和切换。这就是为什么 OpenTelemetry 能够成为行业标准。
行业地位和采用情况
哪些企业在使用 OpenTelemetry? 很多知名企业都在使用。比如谷歌、微软、亚马逊、阿里巴巴、腾讯、Netflix、Uber、Spotify 等等。这些企业都是技术领先的企业。它们选择 OpenTelemetry,说明它是可靠的、成熟的。
统计数据如何? OpenTelemetry 在 GitHub 上有 20,000+ 星标。有 1,000+ 贡献者,下载量超过 1 亿次。生产使用正在快速增长。这些数据说明什么?说明 OpenTelemetry 非常受欢迎,被广泛采用。
发展趋势如何? 2019 年,OpenTracing 和 OpenCensus 合并为 OpenTelemetry。2022 年,OpenTelemetry 成为 CNCF 毕业项目。现在,OpenTelemetry 正在快速增长。未来,它将成为可观察性的标准。
这就是 OpenTelemetry 的行业地位。它不是一个小众项目,而是行业标准,被广泛采用。如果要学习可观察性,OpenTelemetry 是必须掌握的。
本节小结
在本节中,我们学习了:
- OpenTelemetry 是开源的、供应商中立的可观察性框架
- OpenTelemetry 是 CNCF 毕业项目,成熟稳定,生产就绪
- OpenTelemetry 支持多种后端存储,可以自由切换,不会供应商锁定
- OpenTelemetry 被广泛采用,正在成为行业标准
这些要点说明了什么?说明了 OpenTelemetry 是学习可观察性的最佳选择。它是成熟的、稳定的、可靠的,可以放心在生产环境中使用。
在下一节,我们将深入了解 OpenTelemetry 的核心组件:API、SDK、Collector。这些组件是如何工作的?它们之间的关系是什么?