使用 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开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...
随机推荐
- 力扣258(java)-各位相加(简单)
题目: 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数.返回这个结果. 示例 1: 输入: num = 38输出: 2 解释: 各位相加的过程为:38 --> 3 + 8 ...
- 重度使用Flutter研发模式下的页面性能优化实践
简介: 淘宝特价版是集团内应用Flutter技术场景比较多,且用户量一亿人以上的应用了.目前我们首页.详情.店铺.我的,看看短视频,及评价,设置等二级页面都在用Flutter技术搭建.一旦Flutte ...
- 庖丁解牛|图解 MySQL 8.0 优化器查询转换篇
简介: 本篇介绍子查询.分析表和JOIN的复杂转换过程 一 背景和架构 在<庖丁解牛-图解MySQL 8.0优化器查询解析篇>一文中我们重点介绍了MySQL最新版本8.0.25关于SQ ...
- 深入理解云计算OpenAPI体系
简介: 就云计算的API来看,当前并没有类似POSIX这样的API标准,基本上各大厂商各自为政.当然,有一些业界主流标准例如OAS获得多数云厂商的支持,但云厂商本身的API却往往由于历史原因.技术路 ...
- [CI/CD] 持续集成 & 持续部署 之 Github Actions
1. 配置 ssh 免密登录 看这篇简短的就够了 SSH 免密登录主机/服务器 怎么操作 ? 2. 定义 workflow Github Actions 针对项目语言提供了一系列模板,通过稍加修改并组 ...
- 浅析mvvm模式和mvc模式的区别和联系
三层架构与MVC模式 三层架构 三层架构是一种以实现"高内聚,底耦合"为目标,的代码架构方法,它将整个业务分为,表示层,业务层,数据访问层(Dao层). MVC模式 MVC模式是一 ...
- Asp-Net-Core开发笔记:进一步实现非侵入性审计日志功能
前言 上次说了利用 AOP 思想实现了审计日志功能,不过有同学反馈还是无法实现完全无侵入,于是我又重构了一版新的. 回顾一下:Asp-Net-Core开发笔记:实现动态审计日志功能 现在已经可以实现对 ...
- Mybatis学习一(介绍/举例/优化)
MyBatis介绍: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...
- SAP集成技术(一)历史
最近想读一本书<SAP Interface Management Guide>,打算边读边记录一些笔记.翻译主要由ChatGPT完成. 本文链接:https://www.cnblogs.c ...
- 解密Prompt系列28. LLM Agent之金融领域摸索:FinMem & FinAgent
本章介绍金融领域大模型智能体,并梳理金融LLM的相关资源.金融领域的大模型智能体当前集中在个股交易决策这个相对简单的场景,不需要考虑多资产组合的复杂场景.交易决策被简化成市场上各个信息,包括技术面,消 ...