开篇

欢迎来到 Jaeger 的使用文档中!
无论你是一个还尚未接触过 Jaeger 的初学者,还是一个已经熟练使用 Jaeger 的老用户了,这个文档应该都会在某些方面对你有些启发和帮助。

当然,如果你之前还从为了解过分布式追踪系统,那么,建议的可以抽时间来学习一下文末的一些附录资源

简介

Jaeger 是 Uber 开源的一款分布式是追踪系统,它本身是受到了 Dapper 和 OpenZipkin 的启发来演化而成的。
Jaeger 主要用于由微服务组成的分布式系统下的监控和故障定位等,包括:

  • 分布式上下文传输
  • 分布式事件监控
  • 根因分析
  • 服务依赖分析
  • 辅助性能/延迟优化等

Uber 之前发布过一篇博客(Evolving Distributed Tracing at Uber),详细介绍了Jaeger 架构选型的前因后果。Jaeger 的作者 Yuri Shkuro 也曾发布过一本书 - Mastering Distributed Tracing,这个书涵盖了 Jaeger 的设计、功能使用等以及分布式追踪的一些通用概念。

功能介绍

Jaeger 具备如下一些优势:

  • OpenTracing 规范在数据模型、Lib库等方面完全兼容,支持 Go, Java, NodeJS, Python, C++, C# 等多语言。
  • 针对每个服务/端点,使用一致的抽样率。
  • 支持多种后端存储,包括:Cassandra, ElasticSearch, 内存存储等。
  • 支持自动生成系统拓扑图。
  • 支持自适应采样。
  • 支持数据采集后的处理处理流水线。

关于 Jaeger 更多的功能,可以参考 Features 页面。

技术说明

关于 Jaeger 的一些技术说明如下:

快速入门

参考:Jaeger 快速入门

平台预览

下面,我们简单的来看一下 Jaeger 平台究竟是什么样的。

分布式链路图

image.png

分布式调用链详情图

image.png

附录资源