Jaeger

完成此任务后,您将了解如何让您的应用程序参与 Jaeger 的追踪,无论您用什么语言、框架或平台来构建应用程序。

此任务使用 Bookinfo 作为演示的应用程序。

要了解 Istio 如何处理追踪,请查看这个任务的概述

开始之前

  1. 根据 Jaeger 安装文档将 Jaeger 安装到您的集群中。

  2. 启用追踪时,您可以设置 Istio 用于追踪的 Sampling Rate。 安装时使用 meshConfig.defaultConfig.tracing.sampling 设置 Sampling Rate。 默认的 Sampling Rate 为 1%。

  3. 部署 Bookinfo 示例应用程序。

访问仪表盘

远程访问遥测插件详细介绍了如何通过网关配置对 Istio 插件的访问。

对于测试(或临时访问),您也可以使用端口转发。假设已将 Jaeger 部署到 istio-system 命名空间,请使用以下内容:

  1. $ istioctl dashboard jaeger

使用 Bookinfo 示例产生追踪

  1. 当 Bookinfo 应用程序启动并运行时,访问 http://$GATEWAY_URL/productpage 一次或多次以生成追踪信息。

    要查看追踪数据,必须向服务发送请求。请求的数量取决于 Istio 的采样率。 采样率在安装 Istio 时设置,默认采样速率为 1%。在第一个跟踪可见之前,您需要发送至少 100 个请求。 使用以下命令向 productpage 服务发送 100 个请求:

    1. $ for i in `seq 1 100`; do curl -s -o /dev/null http://$GATEWAY_URL/productpage; done
  2. 从仪表盘左边面板的 Service 下拉列表中选择 productpage 并点击 Find Traces

    Tracing Dashboard

    Tracing Dashboard

  3. 点击位于最上面的最近一次追踪,查看对应最近一次访问 /productpage 的详细信息:

    Detailed Trace View

    Detailed Trace View

  4. 追踪信息由一组 Span 组成,每个 Span 对应一个 Bookinfo Service。这些 Service 在执行 /productpage 请求时被调用,或是 Istio 内部组件,例如:istio-ingressgateway

清理

  1. 使用 Control C 或删除任何可能仍在运行的 istioctl 进程:

    1. $ killall istioctl
  2. 如果您没有计划探索任何接下来的任务,请参考 Bookinfo 清理中的说明,关闭整个应用程序。