Zipkin
通过本任务,您将了解如何使应用程序可被 Zipkin 追踪, 而无需考虑应用程序使用何种开发语言、框架或平台。
本任务使用 Bookinfo 作为示例应用程序。
要了解 Istio 如何处理追踪,请访问此任务的概述。
开始之前
参考 Zipkin 安装文档将 Zipkin 安装到您的集群中。
启用追踪时,您可以设置 Istio 用于追踪的 Sampling Rate。 安装时使用
meshConfig.defaultConfig.tracing.sampling
设置 Sampling Rate, 默认的 Sampling Rate 为 1%。部署 Bookinfo 示例应用程序。
访问仪表盘
远程访问遥测插件详细介绍了如何通过网关配置对 Istio 插件的访问。
对于测试(或临时访问),您也可以使用端口转发。假设已将 Zipkin 部署到 istio-system
命名空间,请使用以下内容:
$ istioctl dashboard zipkin
使用 Bookinfo 示例产生追踪
当 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
在搜索面板中,点击
+
号,从第一个下拉列表中选择serviceName
, 从第二个下拉列表中选择productpage.default
,再点击搜索图标:Tracing Dashboard
点击
ISTIO-INGRESSGATEWAY
的搜索结果,查看与之对应的最新的/productpage
请求的详细信息:Detailed Trace View
追踪由一组 Span 组成,其中每个 Span 对应一个 Bookinfo Service,这些服务在执行
/productpage
请求或 Istio 内部组件时被调用,例如:istio-ingressgateway
。
清理
使用 Control-C 或删除任何可能仍在运行的
istioctl
进程:$ killall istioctl
如果您不打算继续深入探索任何后续任务,请参考 Bookinfo 清理说明,关闭应用程序。