ACK提供了Nginx-Ingress-tracing链路追踪功能,通过Nginx-Ingress-tracing链路追踪功能可以接入到链路追踪控制台中。您可以在链路追踪控制台查看调用链路、链路拓扑等。本文介绍如何使用Nginx-Ingress-tracing实现链路追踪。
背景信息
阿里云提供了链路追踪服务,为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑等,能够帮助快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。ACK提供的Ingress-Nginx-Controller支持集成链路追踪服务,您可以根据需求开启该功能,查看链路追踪数据。
步骤一:获取接入点信息
获取接入点信息,根据实际情况选择客户端采集工具,本文以Zipkin为例。
- 登录链路追踪Tracing Analysis控制台。
- 在控制台页面顶部选择地域。
- 在左侧导航栏单击集群配置,然后单击接入点信息页签。
- 打开显示Token开关,然后在下方表格的相关信息列中,单击接入点信息末尾的复制图标。
说明
- 建议选择v1版本接入点。
- 对于ACK集群应用,建议通过ARMS OpenTelemetry Collector上报应用数据。ARMS OpenTelemetry Collector支持本地集群内的链路采样与指标无损统计,在降低链路传输、存储成本的同时,不影响监控或告警指标的准确性。更多信息,请参见ARMS OpenTelemetry Collector

步骤二:在Ingress中开启链路追踪服务
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在配置项页面上方设置命名空间为kube-system,然后在名称搜索框中搜索nginx-configuration,找到nginx-configuration,然后单击nginx-configuration操作列的编辑。
- 配置链路追踪方式。
根据使用的链路追踪方式,需要配置不同的字段,本文采用zipkin来提供链路追踪服务。关于更多链路追踪方式信息,请参见准备工作概述。
在
编辑面板单击
添加,设置
名称为
zipkin-collector-host ,
值为
步骤一:获取接入点信息获取的接入点信息。
说明 该接入点信息需要去掉HTTP,并在末尾加上问号。例如接入点信息为http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans
,则输入的值为tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?
。
- 开启链路追踪服务。
单击添加,设置名称为enable-opentracing ,值为true,然后单击确定。
步骤三:查看调用链路数据
- 登录链路追踪Tracing Analysis控制台。
- 在控制台左侧导航栏中单击应用列表。
- 在应用列表页面顶部选择地域,然后单击应用名称。
- 在应用详情页面左侧导航栏中单击接口调用,在左侧的接口列表中单击调用链路页签,调用链路页签列出了该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见查看接口调用情况。