Zipkin

完成此任务后,您将了解如何让您的应用程序参与使用 Zipkin 进行跟踪,无论您使用哪种语言、框架或平台来构建您的应用程序。

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

要了解 Istio 如何处理跟踪,请访问此任务的 概述

在您开始之前

  1. 请按照 Zipkin 安装 文档将 Zipkin 部署到您的集群中。

  2. 启用跟踪后,您可以设置 Istio 用于跟踪的采样率。在安装过程中使用 meshConfig.defaultConfig.tracing.sampling 选项 设置采样率。默认采样率为 1%。

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

访问仪表板

远程访问遥测附加组件 说明如何通过网关配置对 Istio 附加组件的访问。

为了测试(以及临时访问),您也可以使用端口转发。假设您已将 Zipkin 部署到 istio-system 命名空间,请使用以下命令:

$ istioctl dashboard zipkin

使用 Bookinfo 示例生成跟踪

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

    要查看跟踪数据,您必须向您的服务发送请求。请求数量取决于 Istio 的采样率,可以通过 遥测 API 配置。默认采样率为 1%,您需要发送至少 100 个请求才能看到第一个跟踪。要向 productpage 服务发送 100 个请求,请使用以下命令:

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
        
  2. 在搜索面板中,点击加号。从第一个下拉列表中选择 serviceName,从第二个下拉列表中选择 productpage.default,然后点击搜索图标。

    Tracing Dashboard
    跟踪仪表盘
  3. 点击 ISTIO-INGRESSGATEWAY 搜索结果,查看与对 /productpage 的最新请求相对应的详细信息。

    Detailed Trace View
    详细跟踪视图
  4. 跟踪由一组跨度组成,每个跨度对应于 Bookinfo 服务(在执行 /productpage 请求期间调用)或内部 Istio 组件(例如:istio-ingressgateway)。

清理

  1. 使用 Ctrl+C 或以下命令删除任何仍在运行的 istioctl 进程:

    $ killall istioctl
    
  2. 如果您不打算探索任何后续任务,请参考 Bookinfo 清理 指示来关闭应用程序。

这些信息对您有帮助吗?
您对改进有什么建议吗?

感谢您的反馈!