使用 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开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...
随机推荐
- 宜搭5月更新:跨应用数据读写能力升级,AI组件内测开放
简介:表单.权限管理.AI组件等功能上新啦- 本次,我们带来了表单.权限管理.数据管理.平台管理权限.组件等功能的升级. 表单 支持跨应用数据查询 在使用组件数据联动.关联其他表单数据.关联表单组件 ...
- 揭秘远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术
简介:如果需要在云上 HW-TEE 环境里启动一个加密容器,如何在启动过程中获取容器的解密密钥? 文 / 周亮, 云原生机密计算 SIG 核心成员. 在云原生场景下,基于HW-TEE(如Inte ...
- Flink on Zeppelin 流计算处理最佳实践
简介: 欢迎钉钉扫描文章底部二维码进入 EMR Studio 用户交流群 直接和讲师交流讨论~ 点击以下链接直接观看直播回放:https://developer.aliyun.com/live/247 ...
- [Pholcus] Go项目 Pholcus 编写静态规则文件, 0 到 1
1. 初始化项目包,go mod init [module-path] 比如:go mod init github.com/abc/efg 2. 新建一个目录放置我们编写的规则 go 文件. 3. m ...
- [Go] golang 执行 Linux 系统 command
执行系统 shell 命令示例: fileDir := "files/"out, err := exec.Command("sh", "-c" ...
- 记录一次fs通话无声的问题
概述 freeswitch是一款简单好用的VOIP开源软交换平台. fs的实际应用中,由于网络.配置等问题,经常会产生通话无声的问题. 环境 CentOS 7.9 freeswitch 1.10.7 ...
- ES_CCS/R(三):跨集群复制 Cross-cluster replication(CCR)
跨集群复制(CCR)功能支持将远程集群中的索引复制到本地集群. 可以在一些常见的生产用例中使用此功能: 灾难恢复(DR)/高可用性(HA):如果主群集发生故障,则进行灾难恢复. 辅助群集可以用作热备份 ...
- sendmail发送慢的问题
1.使用python的脚本,发送邮件.代码如下: 点击查看代码 [root@ZabbixServerMasterNode ~]# cd /etc/zabbix/alertscripts/ [root@ ...
- Centos7 忘记密码的解决方法
ilo远程修改 重启服务器,点击cold boot 按钮. 开机后,进入内核上按"e",进入编辑模式 在linux删除linux16这一行的地方,写入如下语句,在*.img行之前. ...
- WebKit中WTFMove实现
WTFMove定义位置: WTF/Source/wtf/StdLibExtras.h,其定义如下: #define WTFMove(value) std::move<WTF::CheckMove ...