简介
另请参阅
欢迎来到 Jaeger 文档!下方您将找到面向 Jaeger 初学者和经验丰富用户的资料。如果您找不到所需信息,或者遇到了此处未涵盖的问题,我们非常乐意听取您的意见。
关于
Jaeger 是一个分布式追踪平台,由 Uber Technologies 于 2016 年作为开源项目发布,并捐赠给 Cloud Native Computing Foundation ,目前是该基金会的一个毕业项目。
使用 Jaeger,您可以
- 监控和排查分布式工作流
- 识别性能瓶颈
- 追溯根本原因
- 分析服务依赖关系
了解更多
如果您是分布式追踪新手,我们推荐以下外部资源
- 《精通分布式追踪》(2019) ,作者为 Jaeger 的创建者 Yuri Shkuro 。本书深入介绍了 Jaeger 设计和操作的诸多方面,以及分布式追踪的整体概念。
- 《Jaeger HotROD 之旅》 ,一个逐步教程,演示如何使用 Jaeger 解决应用程序性能问题。
- 《Jaeger 介绍》 ,一个(旧的)网络研讨会,介绍了 Jaeger 及其功能。
- 《Uber 分布式追踪的演进》 ,一篇博客文章,解释了 Jaeger 中架构选择的历史和原因。
Jaeger v2
(2024-11-12) Jaeger 作为领先的开源分布式追踪平台,在过去 9 年中取得了巨大成功,并与 OpenTracing 和 OpenTelemetry 等行业标准化工作紧密结合。Jaeger 是 Cloud Native Computing Foundation (CNCF) 首批毕业项目之一。在发布 60 多个版本后,Jaeger 正通过发布 Jaeger v2 来庆祝一个重要的里程碑。这是一种新架构,它以 OpenTelemetry Collector 框架为基础,并对其进行扩展以实现 Jaeger 的独特功能。它带来了显著的改进和变化,使 Jaeger 更加灵活、可扩展,并更好地与 OpenTelemetry 项目对齐。在此处阅读完整文章 。
有关从 Jaeger v1 迁移的详细信息,请参阅《迁移指南》。
功能
- 受 OpenTracing 启发的数据模型
- OpenTelemetry 兼容
- 多个内置存储后端
- Elasticsearch 和 OpenSearch
- Cassandra
- Badger(单节点,本地文件存储)
- Kafka(作为中间缓冲区)
- 内存存储
- 通过远程存储 API 实现自定义后端的可扩展性
- 系统拓扑 / 服务依赖图
- 自适应采样
- 服务性能监控 (SPM)
- 采集后数据处理
有关更多详细信息,请参阅《功能》页面。
与 OpenTelemetry 的关系
Jaeger 和 OpenTelemetry 项目有不同的目标。OpenTelemetry 旨在提供多种语言的 API 和 SDK,允许应用程序将各种遥测数据从进程中导出到任意数量的指标和追踪后端。Jaeger 项目主要是追踪后端,负责接收追踪遥测数据,并提供对这些数据的处理、聚合、数据挖掘和可视化。欲了解更多信息,请参阅博客文章《Jaeger 和 OpenTelemetry》 。
Jaeger 最初旨在支持 OpenTracing 标准 。该术语仍在 Jaeger UI 中使用,但其概念与 OpenTelemetry 的追踪数据模型直接对应。
能力 | OpenTracing 概念 | OpenTelemetry 概念 |
---|---|---|
将追踪表示为有向无环图(不仅仅是树状) | span 引用 | span 链接 |
强类型 span 属性 | span 标签 | span 属性 |
强类型事件/日志 | span 日志 | span 事件 |
快速入门
请参阅《入门》。