入门
如果您是分布式追踪的新手,请查阅 简介 页面。
一体化
运行 Jaeger 最简单的方式是在容器中启动它
docker run --rm --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 5778:5778 \
-p 9411:9411 \
jaegertracing/jaeger:2.6.0
这会运行 Jaeger 的**一体化**配置(参见 架构),它将收集器和查询组件组合在一个进程中,并使用瞬态内存存储来存储追踪数据。您可以访问 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 \
jaegertracing/jaeger:2.6.0 \
--config /jaeger/config.yaml
您的应用程序必须经过埋点(instrumented),才能向 Jaeger 发送追踪数据。我们建议使用 OpenTelemetry 的埋点工具和 SDK。
🚗 HotROD 演示
HotROD (Rides on Demand) 是一个演示应用程序,它由多个微服务组成,并演示了 OpenTelemetry 和分布式追踪的使用。在博客文章中提供了教程/演练:乘坐 HotROD 体验 Jaeger 。
使用此应用程序,您可以
- 通过数据驱动的依赖关系图发现整个系统的架构。
- 查看请求时间线和错误;了解应用程序的工作原理。
- 查找延迟和缺乏并发性的来源。
- 探索高度上下文化的日志记录。
- 使用 baggage 传播来诊断请求间的竞争(排队)以及在服务中花费的时间。
- 使用来自
opentelemetry-contrib
的开源库,免费获得与供应商无关的埋点。
我们建议通过 docker compose
一起运行 Jaeger 和 HotROD
git clone https://github.com/jaegertracing/jaeger.git jaeger
cd jaeger/examples/hotrod
docker compose -f docker-compose-v2.yml up
# press Ctrl-C to exit
然后访问 http://localhost:8080
。有关运行演示的其他方式,请参见 README 。
SPM
服务性能监控 (SPM) 页面有自己的 快速入门,展示了如何探索 Jaeger 的这一方面。