作者:Yuri Shkuro 和 Jonah Kowall
原文:https://www.cncf.io/blog/2025/09/01/jaeger-at-10-forged-in-community-reborn-in-opentelemetry/

在瞬息万变的软件世界里,一个项目能持续10年,足以证明其韧性、实用性和社区力量。五年前,我们庆祝了Jaeger的五周年纪念日,惊叹于它从一个初出茅庐的想法发展成为可观测性栈中的关键组件。如今,在迎来10周年之际,我们不仅仅是在庆祝它的长寿,更是在庆祝它的深刻演变。Jaeger已然重生,拥抱一个建立在协作、标准化以及OpenTelemetry惊人发展势头之上的未来。
核心要点
- Jaeger 十周年的主线不是“项目变老了”,而是它从独立追踪系统转向 OpenTelemetry 生态中的核心追踪组件。
- OpenTelemetry 解决了分布式追踪长期以来最难的 instrumentation(埋点)碎片化问题,让一次埋点可以面向多个兼容后端。
- Jaeger v2 基于 OpenTelemetry Collector 构建,统一二进制、原生支持 OTLP,并继承 Collector 的接收器、处理器和导出器生态。
- Jaeger 的长期价值来自社区、标准化和后端选择权,而不是绑定某一套专有 SDK 或单一存储。
Tracing 最具挑战性的部分
多年来,采用分布式追踪的最大障碍并非后端,而是 instrumentation(埋点)。从应用程序中获取遥测数据是一个复杂、往往具有专有性且耗费大量人力的过程。每个追踪系统都有自己的软件开发工具包(SDK)、自己的代理以及自己的处理方式。这种碎片化导致了供应商锁定和陡峭的学习曲线,阻碍了其广泛采用。
这正是OpenTelemetry带来彻底变革的地方。它不只是提供了另一个SDK,而是推动了整个 instrumentation(可观测性埋点)实践的发展。通过提供一个单一的、不依赖于特定厂商的标准,OpenTelemetry统一了手动instrumentation(SDK)和自动instrumentation(代理)。这解决了分布式追踪领域最棘手的问题。它为遥测数据建立了统一的语言和一致的方法,让开发者只需对代码进行一次埋点——在自动埋点的情况下甚至无需手动操作——就能将数据发送到任何兼容的后端系统。
对于Jaeger项目而言,OpenTelemetry的兴起是一个分水岭。这为其提供了一个摆脱维护自有客户端负担的机会,使其能够专注于自己最擅长的领域:提供功能强大、可扩展且直观的追踪产品。Jaeger决定全面采用OpenTelemetry,这一举措塑造了其近年来的发展,并巩固了它在现代可观测性领域的地位。
迈向 v2 的历程
迈向 Jaeger v2 并全面采用 OpenTelemetry 是一项艰巨的任务。这一战略转变的成果是 Jaeger 后端的根本性重构。Jaeger v2 基于 OpenTelemetry Collector 构建,利用其灵活、可扩展的管道来处理和路由遥测数据。
这种新架构带来了诸多好处:
| 变化 | Jaeger v2 的含义 | 对用户的价值 |
|---|---|---|
| 统一二进制 | Jaeger v1 的多个二进制文件被单一、精简的二进制文件取代 | 部署和配置体验更一致 |
| 原生 OTLP | Jaeger v2 原生端到端支持 OpenTelemetry 协议 | 减少转换层,提升链路数据接入效率 |
| 继承 Collector 生态 | 基于 OpenTelemetry Collector 构建 | 可使用接收器、处理器和导出器生态,支持更灵活的数据处理 |
| 面向标准演进 | 与 OpenTelemetry 紧密结合 | 随行业标准共同发展,减少专有体系负担 |
助力未来:导师指导人才培养体系
这一转变的实现离不开项目维护者的奉献以及围绕项目形成的充满活力的社区。特别要衷心感谢LFX指导计划和谷歌编程之夏的参与者们。这些计划已成为人才培养和创新的重要渠道,直接推动着Jaeger的发展。
这些学员取得了重大且切实的进展。我们看到Harshvir Potpose、James Ryans和Pushkar Mishra在Jaeger v2上开展了基础性工作。Ankit Kurmi和Mehul Gautam推进了Jaeger v2 Kubernetes Operator及Helm Chart的开发。Harshith Mente和Raghuram Kannan攻克了诸如基于Kafka的架构和服务性能监控等关键架构组件。用户界面也得到了重大升级,Ansh Goyal和Vishvamsinh Vaghela将其更新至最新的React.js版本,Prathamesh Mutkure统一了图表视图,Hariom Gupta对图表进行了升级。我们还扩展了后端支持,Yashwanth Reddy构建了对Elasticsearch 8的支持,Minh Nguyen则致力于原生SPM支持的开发。这只是所有学员所做杰出工作的一部分,其中包括Chahat Sagar、Manik Mehta、Saransh Shankar、Afzal Ansari、GLVS Kiriti和Ha Anh Vu。
他们新颖的视角、辛勤的工作和技术贡献不仅有所助益,更是起到了关键作用。我们为他们所取得的成就感到无比自豪,也期待看到他们成长为项目的常规贡献者和未来的维护者。
成熟的追踪生态系统
转向OpenTelemetry以及Jaeger v2的发布,标志着Jaeger项目进入了一个重要的成熟阶段。其重心已从构建一个独立的系统,转变为在一个更庞大、更具协作性的生态系统中打造核心组件。
这种统一延伸至整个追踪管道。通过OpenTelemetry处理 instrumentation,以及OpenTelemetry Collector提供标准化的数据处理层,Jaeger如今能够专注于其核心使命:为追踪提供一个强大、可扩展、可插件化的存储和查询引擎。对Cassandra和Elasticsearch等热门后端的持续支持,以及即将新增ClickHouse作为官方存储后端,都凸显了其对灵活性和选择权的承诺。
社区的认可
回顾Jaeger的十年历程,有一点始终未变:那就是这个由社区构建、维护并支持的项目所展现出的惊人活力。从最初在优步(Uber)的起步,到后来成为云原生计算基金会(CNCF)的毕业项目,再到全球各地个人和组织的无数贡献,Jaeger充分证明了开源协作的强大力量。
这种合作的规模令人惊叹。五年前,该项目就已展现出惊人的发展势头,当时有302家公司贡献了4.3K次代码提交和3.2K个拉取请求。这种势头不仅持续不减,还在加速。如今,社区已发展到由597家公司组成的1359名贡献者。Jaeger核心代码库的提交次数已超过6.5K次,拉取请求达5.1K个。从初创企业到科技巨头,各类组织都在为Jaeger的未来投入资源,这种惊人的发展直接体现了该项目的重要性以及社区坚定不移的奉献精神。
原文给出的路线图是:Jaeger 将不再维护 Jaeger v1,该版本在 2025 年 12 月发布最后一个 v1 版本,并于 2026 年 1 月完全弃用。路线图的其余部分包括支持更多后端,而最重要的是,为新用户创造更简便的方式来演示该项目并快速获得价值。通过降低入门门槛,Jaeger 可以将分布式追踪的强大功能带给更广泛的受众。
致敬过去的 10 年,也致敬一个更加开放、统一且前所未有的易用未来。
FAQ
Q1:Jaeger 为什么要拥抱 OpenTelemetry? A:因为分布式追踪最大的采用障碍长期在 instrumentation。OpenTelemetry 提供厂商中立的标准,减少专有 SDK 和代理带来的碎片化。
Q2:Jaeger v2 的核心变化是什么? A:Jaeger v2 基于 OpenTelemetry Collector 构建,统一二进制,原生支持 OTLP,并继承 Collector 的数据处理和路由生态。
Q3:Jaeger 在 OpenTelemetry 生态中的角色是什么? A:OpenTelemetry 负责采集、标准化和传输遥测数据;Jaeger 更专注于追踪数据的存储、查询、展示和后端扩展能力。