基于OpenTelemetry实现可观测性-Part 6 生态

d054c99b3df051966489dffc782e3ff0.jpeg

泽注:这是一个系列,共分成6部分,这是第6部分。翻译自:https://trstringer.com/otel-part6-ecosystem/

之前的五篇博客涵盖了如何使用OpenTelemetry观测你的应用程序的技术细节。我认为用OTel生态系统的一些信息来结束这个博文系列会产生很大的价值。OpenTelemetry社区发生了很多事情,那些刚接触它的人可能会有点不知所措,或者对在哪里找到某些东西感到困惑。

如前所述,OpenTelemetry是一个CNCF项目。但是,它的表现如何呢?以PR、Issue和提交数来衡量,OpenTelemetry是CNCF项目中第二活跃的,仅次于Kubernetes:

bcdd0676f817e54436b733c7c22ee2c0.png
image.png

Image and data source (twitter)[1]

这是一个非常激动人心的时刻,可以深入OpenTelemetry的世界。希望现在已经很明显了,但我相信OpenTelemetry会继续保持,并将在云原生生态系统中发挥重要作用。

项目网站

OpenTelemetry的起来是它的项目网站: opentelemetry.io[2]。在这里,你可以找到大量的信息和好的生态系统的索引。在这里,你还可以找到非常棒的入门教程,从中熟悉OTel并在你的软件中实现它。

OpenTelemetry网站的一个值得关注的部分是项目博客[3]。在这里你会发现大量的更新和公告。

一般来说,如果你是OpenTelemetry的新手,我强烈建议你花一些时间在项目网站上学习。

社区

如果说这个系列博文强调了一件事,那就是OTel有一个庞大的功能集。而这些功能往往伴随着一定程度的复杂性。在某些时候,你可能需要社区的帮助。我发现与社区成员(包括维护者!)聊天的最好方式是通过CNCF Slack工作区。OpenTelemetry有几个频道,你可能感兴趣。主要的一个是#opentelemetry,这是一般的讨论。不过你也有可能想参与更多具体的对话。这里有一些其他的OTel频道:

  • • #otel-collector:关于OpenTelemetry Collector的一切;

    扫描二维码关注公众号,回复: 14620519 查看本文章
  • • #otel-go - OpenTelemetry Go (API, SDK, 实现)

  • • #otel-python - OpenTelemetry Python (API, SDK, 实现)

还有一些,在 Slack 中搜索“#otel”以查看其他 OpenTelemetry 频道。

这可能是下一节的一部分,但在这里值得一提。 社区的Git仓库[4] 有很多重要信息,例如:治理、感兴趣的领域、会议和日历等等。如果您正在考虑加入 OTel,这是一个很好的起点。

代码仓库列表

我必须承认,当我开始使用 OpenTelemetry 时,我最困惑的事情之一是 GitHub仓库[5] 的组织方式。

OpenTelemetry的主要组件(不是语言或者特定的collector)可以在这些仓库中找到:

  • • open-telemetry/opentelemetry-specification[6] - The OTel spec (procotol, metrics, traces, logs, baggage, and many other specifications for root OTel), schema, and semantic conventions

  • • open-telemetry/oteps[7] - Enhancement proposals for the project

  • • open-telemetry/opentelemetry-proto[8] - Protobuf definitions for OTLP

OTel Collector 仓库:

  • • open-telemetry/opentelemetry-collector[9] - Core collector code, 包括 ocb[10] 工具

  • • open-telemetry/opentelemetry-collector-contrib[11] - Contrib receivers, extensions, processors, and exporters for the collector

  • • open-telemetry/opentelemetry-collector-releases[12] - Releases for core and contrib distros are not in the above two repos, but they are here including the manifests and Dockerfiles for the release distros

  • • open-telemetry/opentelemetry-operator[13] - Kubernetes operator to handle the collector, including collector sidecar injection for observed application pods

OTel的一个重要部分是特定语言的探测实现。这里有一个案例,解释了它们在项目中是如何组织的:

  • • open-telemetry/opentelemetry-go[14] - Go API and SDK

  • • open-telemetry/opentelemetry-go-contrib[15] - Extensions for OTel Go, including instrumentation[16] and propagators[17]

  • • open-telemetry/opentelemetry-python[18] - Python API and SDK

  • • open-telemetry/opentelemetry-python-contrib[19] - Extensions for OTel Python

这是语言实现的一般模式,但它们可以有所不同。例如,Java有open-telemetry/opentelemetry-java,但也有open-telemetry/opentelemetry-java-contrib用于扩展,但有open-telemetry/opentelemetry-java-instrumentation用于自动探测实现的单独 repo。

注册表

我认为应该注意的生态系统的最后一部分是OpenTelemetry Registry[20]。由于该项目有大量的实现和产品,这是一个搜索任何你想要实现需求的好地方。

总结

OpenTelemetry是一个伟大的项目,它提供了一种在我们开发的软件中实现高水平的可观测性的方法。通过OTel,我们能够有最大限度的洞察力,并回答线上问题,而不需要做任何代码修改。我强烈建议你深入OpenTelemetry的奇妙世界!一旦你这样做了,你就永远不会想离开它了。

引用链接

[1] Image and data source (twitter): https://twitter.com/hab_mic/status/1557012045677092866?s=20&t=-Chw2r-CBO6W2gVTRlZgyw
[2] opentelemetry.io: https://opentelemetry.io/
[3] 项目博客: https://opentelemetry.io/blog/
[4] 社区的Git仓库: https://github.com/open-telemetry/community
[5] GitHub仓库: https://github.com/open-telemetry
[6] open-telemetry/opentelemetry-specification: https://github.com/open-telemetry/opentelemetry-specification
[7] open-telemetry/oteps: https://github.com/open-telemetry/oteps
[8] open-telemetry/opentelemetry-proto: https://github.com/open-telemetry/opentelemetry-proto
[9] open-telemetry/opentelemetry-collector: https://github.com/open-telemetry/opentelemetry-collector
[10] ocb: https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder
[11] open-telemetry/opentelemetry-collector-contrib: https://github.com/open-telemetry/opentelemetry-collector-contrib
[12] open-telemetry/opentelemetry-collector-releases: https://github.com/open-telemetry/opentelemetry-collector-releases
[13] open-telemetry/opentelemetry-operator: https://github.com/open-telemetry/opentelemetry-operator
[14] open-telemetry/opentelemetry-go: https://github.com/open-telemetry/opentelemetry-go
[15] open-telemetry/opentelemetry-go-contrib: https://github.com/open-telemetry/opentelemetry-go-contrib
[16] instrumentation: https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation
[17] propagators: https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/propagators
[18] open-telemetry/opentelemetry-python: https://github.com/open-telemetry/opentelemetry-python
[19] open-telemetry/opentelemetry-python-contrib: https://github.com/open-telemetry/opentelemetry-python-contrib
[20] OpenTelemetry Registry: https://opentelemetry.io/registry/

猜你喜欢

转载自blog.csdn.net/apl359/article/details/129964962