ACK提供了Nginx-Ingress-tracing链路追踪功能,支持将ACK集群的Nginx Ingress Controller组件的链路信息上报至可观测链路 OpenTelemetry 版。可观测链路 OpenTelemetry 版可以对链路信息进行实时聚合计算和持久化,形成链路明细、实时拓扑等监控数据,以便您进行Nginx Ingress Controller组件的问题排查与诊断。
前提条件
步骤一:在可观测链路 OpenTelemetry 版中获取接入点信息
根据实际使用的客户端采集工具获取接入点信息,本文以Zipkin为例。
在左侧导航栏单击集群配置,在控制台页面顶部选择地域,然后单击接入点信息页签。
说明地域需要与步骤二:在Ingress中开启链路追踪服务的ACK集群保持一致。
在接入点信息页签中,打开显示Token开关。单击Zipkin,然后在下方表格的相关信息列中,记录v1版本接入点下的阿里云vpc网络接入点信息。
说明因为Nginx Ingress Controller组件部署在阿里云上,且组件所在地域与可观测链路 OpenTelemetry 版接入配置中的地域一致,所以使用阿里云VPC网络接入点,否则选择公网接入点。
步骤二:在ACK的Ingress中开启可观测链路 OpenTelemetry 版服务
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在配置项页面上方设置命名空间为kube-system,然后在名称搜索框中搜索nginx-configuration,然后单击nginx-configuration操作列的编辑。
配置Zipkin链路追踪方式。
在编辑面板单击添加,设置名称为zipkin-collector-host ,值为步骤一:在可观测链路 OpenTelemetry 版中获取接入点信息获取的接入点信息。
重要该接入点信息需要去掉
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,然后单击确定。
步骤三:查看调用链路数据
从ARMS控制台进入查看
从可观测链路 OpenTelemetry 版控制台进入查看
在控制台左侧导航栏中单击应用列表。
在应用列表页面顶部选择地域,然后单击应用名称nginx。
在应用详情页面左侧导航栏中单击接口调用,然后在右侧区域,查看链路信息。
在概览页签中,展示了链路拓扑信息。
单击调用链路页签,查看该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见接口调用。
在调用链路页签中,单击TraceId,查看链路详情。
相关文档
关于可观测链路 OpenTelemetry 版,请参见什么是可观测链路 OpenTelemetry 版。
关于ACK,请参见什么是容器服务 Kubernetes 版。
不同的链路追踪方式,例如Zipkin、Jaeger、SkyWalking等,需要在ACK的nginx-configuration配置不同的字段。本文采用Zipkin来提供可观测链路 OpenTelemetry 版服务。关于更多接入可观测链路 OpenTelemetry 版的方法,请参见准备工作概述。
- 本页导读 (1)