Zipkin

通过本任务,您将了解如何使应用程序可被 Zipkin 追踪,而无需考虑应用程序使用何种开发语言、框架或平台。

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

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

开始之前

  • 参考 安装指南 中的说明,使用如下配置安装 Istio:

a) 通过配置 —set values.tracing.enabled=true—set values.tracing.provider=zipkin 选项可以安装一个“开箱即用”的演示或测试环境。

b) 对于生产环境,通过配置 —set values.global.tracer.zipkin.address=<zipkin-collector-service>.<zipkin-collector-namespace>:9411 选项以使用已有的 Zipkin 实例。

启用追踪时,可以通过 Pilot.traceSampling 选项设置 Istio 的追踪采样率。默认采样率为 1%。

访问仪表盘

远程访问遥测组件 详细描述了如何通过配置网关以访问 Istio 组件。或者,如果要使用 Kubernetes ingress, 请在安装时配置 —set values.tracing.ingress.enabled=true 选项。

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

  1. $ istioctl dashboard zipkin

使用 Bookinfo 示例程序生成追踪报告

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

  1. $ for i in `seq 1 100`; do curl -s -o /dev/null http://$GATEWAY_URL/productpage; done
  • 在顶部面板中,从 Service Name 下拉列表中选择感兴趣的服务(或“全部”),然后单击 Find Traces:

Tracing Dashboard

Tracing Dashboard

  • 单击顶部的最新追踪,查看与之对应的最新 /productpage 请求的详细信息:

Detailed Trace View

Detailed Trace View

  • 追踪由一组 span 组成,其中每个 span 对应一个 Bookinfo 服务,该服务在执行 /productpage 请求或 Istio 内部组件时被调用,例如:istio-ingressgateway

清理

  • 删除所有可能仍在运行的 istioctl 进程,使用 control-C 或者:
  1. $ killall istioctl
  • 如果您不打算继续深入探索任何后续任务,请参考 Bookinfo 清理 说明关闭应用程序。

相关内容

Jaeger

了解如何配置代理以向 Jaeger 发送追踪请求。

远程访问遥测插件

此任务向您展示如何配置从外部访问 Istio 遥测插件。

LightStep

怎样配置代理才能把追踪请求发送到 LightStep。

概述

Istio 分布式追踪的概述。

Mixer 和 SPOF 神话

提高可用,降低延迟。

Mixer 适配器模型

概要说明 Mixer 的插件架构。