如果您刚接触分布式追踪,请查阅简介页面。
一体化部署
运行 Jaeger 最简单的方式是在容器中启动:
docker run --rm --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 5778:5778 \
-p 9411:9411 \
cr.jaegertracing.io/jaegertracing/jaeger:2.17
这将以 Jaeger 的一体化配置运行(参见架构),在单个进程中组合了 collector 和查询组件,并使用临时的内存存储来存储追踪数据。您可以访问 http://localhost:16686 来使用 Jaeger UI。有关已暴露端口的完整列表,请参阅 API 页面。
如需以其他角色运行 Jaeger(参见架构),必须通过 --config 命令行参数提供显式的配置文件(参见配置)。在容器中运行时,配置文件的路径必须映射到容器文件系统中(下面的 -v ... 映射):
docker run --rm --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 5778:5778 \
-p 9411:9411 \
-v /path/to/local/config.yaml:/jaeger/config.yaml \
cr.jaegertracing.io/jaegertracing/jaeger:2.17 \
--config /jaeger/config.yaml
Warning
您的应用程序必须先进行插桩,然后才能向 Jaeger 发送追踪数据。我们推荐使用 OpenTelemetry 插桩和 SDK。
HotROD 演示
HotROD(Rides on Demand)是一个由多个微服务组成的演示应用,展示了 OpenTelemetry 和分布式追踪的使用。教程/演练可在博客文章中找到:Take Jaeger for a HotROD ride。
使用此应用,您可以:
- 通过数据驱动的依赖关系图发现整个系统的架构。
- 查看请求时间线和错误;了解应用的工作原理。
- 发现延迟来源和并发不足的问题。
- 探索高度上下文化的日志记录。
- 使用 baggage 传播来诊断请求间的资源争用(排队)以及在服务中花费的时间。
- 使用
opentelemetry-contrib中的开源库免费获得与供应商无关的插桩。
我们推荐通过 docker compose 一起运行 Jaeger 和 HotROD:
export JAEGER_VERSION=2.7.0 #Pick the newest version
git clone https://github.com/jaegertracing/jaeger.git jaeger
cd jaeger/examples/hotrod
docker compose up
# press Ctrl-C to exit
然后访问 http://localhost:8080。有关运行演示的其他方式,请参阅 README。
SPM
服务性能监控(SPM)页面有自己的快速开始指南,展示如何探索 Jaeger 的这一方面。