使用 LightStep [𝑥]PM 进行分布式追踪
请确保您拥有一个 LightStep 账号。请联系 LightStep 创建账号。
请确保您具有配置了 TLS 证书的 satellite pool 和已公开的安全 GRPC 端口。关于如何设置 satellites 请查看 。
请确保您具有一个 LightStep 访问令牌。
指定如下配置参数部署 Istio:
global.proxy.tracer="lightstep"
global.tracer.lightstep.address="<satellite-address>"
global.tracer.lightstep.accessToken="<access-token>"
global.tracer.lightstep.secure=true
- 如果通过
helm template
进行安装,您可以在运行helm
命令时,使用—set key=value
的格式设置这些参数。例如:
- 将您的 satellite pool 的 CA 证书以 secret 形式保存在 default namespace 中。如果您在不同的 namespace 中部署 Bookinfo 应用,请在该 namespace 中创建这个 secret。
为了验证前序步骤是否成功,请确保在 shell 中设置了
GATEWAY_URL
环境变量。发送流量到示例应用程序。
加载 LightStep [𝑥]PM 。
浏览该界面。
从 Service 下拉列表中选择
productpage.default
。点击 Run。您将看到一些和下面相似的东西:
- 单击延迟直方图下方的示例追踪表中的第一行,以查看与刷新 时相对应的详细信息。页面看起来像这样:
Detailed Trace View
屏幕截图显示追踪由一组 span 组成。 每个 span 对应于执行 /productpage
时调用的 Bookinfo 服务。
追踪中的两个 span 代表了每个 RPC。例如,从 productpage
到 reviews
的请求带有的 span 使用 reviews.default.svc.cluster.local:9080/
operation 和 productpage.default: proxy client
进行标记。这个service 代表了客户端请求的 span。屏幕截图显示请求耗时 15.30 毫秒。第二个 span 使用 operation 和 reviews.default: proxy server
service 进行标记。第二个 span 是第一个的子级,代表了服务端请求的 span。屏幕截图显示请求耗时 14.60 毫秒。
LightStep 集成目前不能捕获 Istio 内部组件(如 Mixer)产生的 span。
Istio 以可配置的追踪采样百分比捕获追踪数据。要了解如何修改追踪采样百分比,请访问使用 Jaeger 追踪采样进行分布式追踪小节。当使用 LightStep [𝑥]PM 时,我们不推荐将追踪采样百分比降低到 100% 以下。要处理高流量网格,请考虑对您的 satellite pool 进行扩容。
如果您没有计划任何后续任务,请从集群中删除 Bookinfo 示例应用程序及任何 LightStep [𝑥]PM secret。
了解如何配置代理以向 Jaeger 发送追踪请求。
了解如何配置代理以向 Zipkin 发送追踪请求。
Istio 分布式追踪概述。
演示如何使用 Istio Mixer 和 Istio sidecar 获取指标和日志,并在不同的服务间进行追踪。
本任务展示了为 Istio 遥测插件配置外部访问的过程。
概要说明 Mixer 的插件架构。