文档

实现Nginx Ingress Controller组件的链路追踪

更新时间:

ACK提供了Nginx-Ingress-tracing链路追踪功能,支持将ACK集群的Nginx Ingress Controller组件的链路信息上报至可观测链路 OpenTelemetry 版可观测链路 OpenTelemetry 版可以对链路信息进行实时聚合计算和持久化,形成链路明细、实时拓扑等监控数据,以便您进行Nginx Ingress Controller组件的问题排查与诊断。

前提条件

步骤一:在可观测链路 OpenTelemetry 版中获取接入点信息

根据实际使用的客户端采集工具获取接入点信息,本文以Zipkin为例。

  1. 登录可观测链路 OpenTelemetry 版控制台

  2. 在左侧导航栏单击集群配置,在控制台页面顶部选择地域,然后单击接入点信息页签。

    说明

    地域需要与步骤二:在Ingress中开启链路追踪服务的ACK集群保持一致。

  3. 接入点信息页签中,打开显示Token开关。单击Zipkin,然后在下方表格的相关信息列中,记录v1版本接入点下的阿里云vpc网络接入点信息。

    说明

    因为Nginx Ingress Controller组件部署在阿里云上,且组件所在地域与可观测链路 OpenTelemetry 版接入配置中的地域一致,所以使用阿里云VPC网络接入点,否则选择公网接入点。

    20240527143714.jpg

步骤二:在ACK的Ingress中开启可观测链路 OpenTelemetry 版服务

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择配置管理 > 配置项

  3. 在配置项页面上方设置命名空间为kube-system,然后在名称搜索框中搜索nginx-configuration,然后单击nginx-configuration操作列的编辑

  4. 配置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?

  5. 开启链路追踪服务。

    单击添加,设置名称enable-opentracingtrue,然后单击确定

    image

步骤三:查看调用链路数据

从ARMS控制台进入查看

  1. 登录ARMS控制台
  2. 在左侧导航栏单击应用监控 > 应用列表

  3. 应用列表页面顶部选择地域,然后单击应用名称nginx

  4. 在应用详情页面左侧导航栏中单击接口调用,然后在右侧区域,查看链路信息。

    • 概览页签中,展示了链路拓扑信息。3.jpg

    • 单击调用链路页签,查看该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见接口调用调用链路

    • 调用链路页签中,单击TraceId,查看链路详情。2.jpg

可观测链路 OpenTelemetry 版控制台进入查看

  1. 登录可观测链路 OpenTelemetry 版控制台

  2. 在控制台左侧导航栏中单击应用列表

  3. 应用列表页面顶部选择地域,然后单击应用名称nginx

  4. 在应用详情页面左侧导航栏中单击接口调用,然后在右侧区域,查看链路信息。

    • 概览页签中,展示了链路拓扑信息。3.jpg

    • 单击调用链路页签,查看该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见接口调用调用链路

    • 调用链路页签中,单击TraceId,查看链路详情。2.jpg

相关文档

  • 本页导读 (1)