2.8.7. 生成追踪示例并分析 trace 数据
Jaeger 是一个开源分布式追踪系统。使用 Jaeger,您可以在组成一个应用程序的各种微服务间执行遵循请求路径的 trace。默认安装 Jaeger 作为 Service Mesh 的一部分。
本教程使用 Service Mesh 和 Bookinfo 示例应用程序来演示如何使用 Jaeger 执行分布式追踪。
先决条件:
- 安装了 OpenShift Container Platform 4.1 或更高版本。
- Red Hat OpenShift Service Mesh 2.2.3 installed.
- 安装过程中启用了 Jaeger 。
- 已安装 Bookinfo 示例应用程序。
流程
安装 Bookinfo 示例应用程序后,将流量发送到网格。输入以下命令几次。
$ curl "http://$GATEWAY_URL/productpage"
此命令模拟访问应用的
productpage
微服务的用户。在 OpenShift Container Platform 控制台中,进入 Networking
Routes 并搜索 Jaeger 路由,它是 Location 项下列出的 URL。 或者,使用 CLI 查询路由的详细信息:在本例中,
istio-system
是 Service Mesh control plane 命名空间:$ export JAEGER_URL=$(oc get route -n istio-system jaeger -o jsonpath='{.spec.host}')
输入以下命令来显示 Jaeger 控制台的 URL。将结果粘贴到浏览器并导航到该 URL。
echo $JAEGER_URL
- 使用与您用来访问 OpenShift Container Platform 控制台相同的用户名和密码登录。
- 在 Jaeger 仪表板左侧的窗格中,从 Service 菜单中选择 productpage.bookinfo,然后点击窗格底部的 Find Traces。此时会显示一个跟踪列表。
-
点击列表中的某个跟踪打开那个追踪的详细视图。如果您点列表中的第一个(它是最新的追踪),您会看到与
/productpage
最新刷新对应的详情。