使用 OpenTelemetry 构建可观测性 06 - 生态系统
过去的五篇文章讨论了如何使用 OpenTelemetry 来构建可观测性的技术细节。我认为在本博文系列的结尾介绍有关 OTel 生态系统的信息,为读者提供更全面的了解非常重要。OpenTelemetry 的发展非常迅速,对于刚接触它的人来说,可能会感到有些不知所措或困惑,不知道在哪里找到有效的信息或资源。
OpenTelemetry 是一个 CNCF 项目。但是,在 CNCF 项目中 OpenTelemetry 的表现如何?以拉取请求、问题和提交代码的数量来衡量,OpenTelemetry 是第二活跃的 CNCF 项目,仅次于 Kubernetes:

数据源(X Corp)
OpenTelemetry 的未来发展前景广阔,充满希望。我相信它将在云原生领域中扮演重要角色,并且将持续发展下去。
项目官网
要了解和学习使用 OpenTelemetry 首推的是项目官网:opentelemetry.io。那里有丰富的信息和指南,可以帮助你快速入门并在你的软件中应用 OpenTelemetry 。
OpenTelemetry 的项目博客也是值得关注的部分。在那里你会找到很多更新和公告。
通常来说,如果你对 OpenTelemetry 还不熟悉,我强烈建议你花些时间浏览一下项目官网。
社区
OTel 拥有众多的功能集。而随着这些功能的增加,通常也伴随着一定程度的复杂性。在某些时候,你可能需要社区的帮助。
我发现与社区成员(包括维护者!)聊天的最佳方式是通过 CNCF Slack 工作空间。 OpenTelemetry 最主要的频道是 #opentelemetry ,这是一般性讨论。也有一些特定话题或语言版本的频道:
- #otel-collector - 所有的有关 OpenTelemetry Collector
- #otel-go - OpenTelemetry Go (API, SDK, implementation)
- #otel-python - OpenTelemetry Python (API, SDK, implementation)
还有更多!在 Slack 中搜索关键字 ‘#otel’ 看看其他 OpenTelemetry 频道。
在 OpenTelemetry 的社区频道中,你可以找到很多有价值的信息,比如项目的治理、感兴趣的领域、会议和项目排期时间表等等。如果你有兴趣参与 OpenTelemetry 项目,这个社区仓库是一个很好的起点,帮助你更好地了解和参与进来。
项目仓库
我不得不承认,当我开始使用 OpenTelemetry 时,对我来说更令人困惑的事情之一是GitHub项目仓库的组织方式。 OpenTelemetry的主要组件(不是特定于语言或收集器)可以在以下项目仓库中找到:
- open-telemetry/opentelemetry-specification - OTel 规范(procotol, metrics, traces, logs, baggage, and many other specifications for root OTel)、架构和语义约定
- open-telemetry/oteps - 项目改进提案的仓库
- open-telemetry/opentelemetry-proto - OTLP(OpenTelemetry Protocol)的 Protobuf 定义。
OTel 收集器项目仓库包括:
- open-telemetry/opentelemetry-collector - 核心收集器代码,包括用于自定义收集器发行版构建的 OCB 工具
- open-telemetry/opentelemetry-collector-contrib -贡献版 - 收集器的接收器、扩展、处理器和导出器
- open-telemetry/opentelemetry-collector-releases - 用于发布核心和贡献发行版的仓库,包括发行版的清单和 Dockerfiles
- open-telemetry/opentelemetry-operator - 用于处理收集器的 Kubernetes operator,包括 sidecar 容器注入到应用程序 Pod 中
此外,针对特定编程语言的埋点库是 OpenTelemetry 的一个重要组成部分。以下是一些项目仓库:
- open-telemetry/opentelemetry-go - Go API 和 SDK
- open-telemetry/opentelemetry-go-contrib - 针对OTel Go的扩展,包括埋点和传播器。
- open-telemetry/opentelemetry-python - Python API 和 SDK
- open-telemetry/opentelemetry-python-contrib - OTel Python 的扩展
有些编程语言的仓库可能不同。例如,Java 语言实现的主要仓库是 open-telemetry/opentelemetry-java , open-telemetry/opentelemetry-java-contrib 用于扩展,对于埋点有一个单独的仓库 open-telemetry/opentelemetry-java-instrumentation。
注册表
OpenTelemetry 生态系统中的最后一个重要组成部分是 OpenTelemetry 注册表。由于项目中存在着各种实现和产品组合,用户可以在一个地方浏览和搜索可用的实现和产品。他们可以根据自己的需求和偏好,选择最适合他们的解决方案。
总结
OpenTelemetry 是一个非常优秀的项目,它为我们开发的软件抽象出一套实现可观测性的方案。通过使用 OTel ,我们能够获得最大化的可观测能力,而无需进行任何代码更改就能发现潜在的问题。
我强烈推荐您深入了解 OpenTelemetry 项目!一旦您开始使用,您将会爱不释手!
本文翻译自:https://trstringer.com/otel-part6-ecosystem/
扩展阅读:
使用 OpenTelemetry 构建可观测性 06 - 生态系统的更多相关文章
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- .NET开源进行时:消除误解、努力前行(本文首发于《程序员》2015第10A期的原始版本)
2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET ...
- [Hadoop] Hadoop学习笔记之Hadoop基础
1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplif ...
- dubbo初识(一)Dubbo架构设计详解
参见http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合( ...
- nw.js 软件推荐:AxeSlide斧子演示:PPT的另一种可能(转)
AxeSlide斧子演示:PPT的另一种可能 一款简单有趣的演示文稿制作软件 AxeSlide斧子演示(www.axeslide.com),是一款简单有趣的演示文稿制作软件,基于H ...
- Dubbo架构设计详解
from:http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...
- Dubbo架构设计详解(转自shiyanjun.cn)
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- 《转》.NET开源核心运行时,且行且珍惜
转载自infoQ 背景 InfoQ中文站此前报道过,2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣 ...
- 开源top100
1.SwitchyOmega 项目简介:SwitchyOmega 是 SwitchySharp 的新版本.这是一个 Chrome 浏览器用来切换不同代理的插件.SwitchyOmega 初次安装时会检 ...
- Dubbo架构设计详解-转
Dubbo架构设计详解 2013-09-03 21:26:59 Yanjun Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...
随机推荐
- 庖丁解牛-图解MySQL 8.0优化器查询转换篇
简介: 在<庖丁解牛-图解MySQL 8.0优化器查询解析篇>一文中我们重点介绍了MySQL最新版本8.0.25关于SQL基本元素表.列.函数.聚合.分组.排序等元素的解析.设置和转换过 ...
- 数据可视化之matplotlib模块
一.简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据 ...
- SpringCloud + Seata1.5.0(使用docker安装配置Seata;数据存储mysql、配置中心与注册中心nacos)
1.seata介绍 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分 ...
- CF1872G
题意:一个正整数序列,\(a[i] < 10^9\),求 \(l\),\(r\),最大化 \[\sum_{i = 1}^{l - 1} a[i] + \prod_{i = l}^r a[i] + ...
- 9.3K+ Star!一个面向中小型企业设计的开源运维平台!
大家好,我是Java陈序员. 我们在日常开发中,会有很多的应用环境,开发环境.测试环境.回归环境.生产环境等等. 这些环境,需要部署在一台台的服务器上,有的可能是物理机,有的可能是云服务器. 那么,这 ...
- 使用openvp*-gui客户端连接多服务端,作为Windows服务部署
背景 多数公司都会用到VPN隧道技术链接服务器,保证服务器的安全,但多数情况下会存在多服务端的情况,这时就有客户端连接多个服务端的必要了,如果每次都要切换配置的话,对于有强迫症的兄弟当然忍不了了 思考 ...
- ubuntu_24.04 Noble LTS安装docker desktop启动无窗口及引擎启动失败的解决方法
ubuntu_24.04 LTS安装docker desktop启动无窗口及引擎启动失败的解决方法 1. 安装docker desktop后启动无窗口 现象: 执行sudo apt install . ...
- 04. rails入门学习 创建控制器
学习视频 https://www.bilibili.com/video/BV1RJ411W7N3?t=49&p=7 一. 启动rails 启动 cd circles/ #到circles的项目 ...
- 如何加速C++文件的编译速度?
一.为什么慢? 重要的一个原因是C++的基本 头文件-源文件的编译模型: 每个源文件为一个编译单元 头文件数量多,可能会包含上百甚至上千个头文件 存在重复解析,每个编译单元中,这些头文件都要从硬盘里读 ...
- WEB服务与NGINX(25)- LNMP架构-WEB集群部署phpmyadmin
目录 1 LNMP架构-WEB集群部署phpmyadmin 1.1 WEB集群架构需求分析 1.2 WEB集群架构环境 1.3 部署mariadb 1.4 部署web服务器nginx 1.5 部署re ...