Jaeger

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

开始之前

  1. 按照安装指南中的说明安装 Istio。

    使用 Helm chart 进行安装时,设置 --set tracing.enabled=true 选项以启用追踪。

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

访问仪表盘

  1. 如要配置到追踪仪表盘的访问,请使用端口转发:

    $ kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686  &
    

    打开浏览器访问 http://localhost:16686

  2. 如要使用 Kubernetes ingress,请指定 Helm chart 选项 --set tracing.ingress.enabled=true

使用 Bookinfo 示例产生追踪

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

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

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

    追踪仪表盘
    追踪仪表盘

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

    详细追踪视图
    详细追踪视图
  4. 追踪信息由一组 span 组成,每个 span 对应一个 Bookinfo service。这些 service 在 /productpage 请求或 Istio 内部组件(例如:istio-ingressgatewayistio-mixeristio-policy)执行时被调用。

清理

  1. 停止任何可能还在运行的 kubectl port-forward 进程:

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