02.1OpenTelemetry是什么

分类: 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。这些组件是如何工作的?它们之间的关系是什么?