全部产品
Search
文档中心

应用实时监控服务ARMS:使用Ingress-tracing实现链路追踪

更新时间:Jun 30, 2023

ACK提供了Nginx-Ingress-tracing链路追踪功能,通过Nginx-Ingress-tracing链路追踪功能可以接入到可观测链路 OpenTelemetry 版控制台中。您可以在可观测链路 OpenTelemetry 版控制台查看调用链路、链路拓扑等。本文介绍如何使用Nginx-Ingress-tracing实现链路追踪。

前提条件

背景信息

阿里云提供的可观测链路 OpenTelemetry 版服务为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑等,能够帮助快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。ACK提供的Ingress-Nginx-Controller支持集成可观测链路 OpenTelemetry 版服务,您可以根据需求开启该功能,查看链路追踪数据。

步骤一:获取接入点信息

  1. 登录可观测链路 OpenTelemetry 版控制台
  2. 在左侧导航栏单击集群配置,然后在右侧页面单击接入点信息页签。

  3. 在页面顶部选择需要接入的地域,然后在集群信息区域打开显示Token开关。

  4. 客户端采集工具区域单击需要使用的链路数据采集客户端。

  5. 在下方表格的相关信息列中,单击接入点信息末尾的复制图标。

    Jaeger接入点信息
    • OpenTelemetry HTTP、Zipkin HTTP和Jaeger HTTP:将Token作为HTTP URL的一部分。

    • Skywalking gRPC、OpenTelemetry gRPC和Jaeger gRPC:将Authentication=<token>作为gRPC的metadata提供给服务端鉴权。

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

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏,单击集群
  3. 集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏,选择配置管理 > 配置项
  5. 在配置项页面上方设置命名空间为kube-system,然后在名称搜索框中搜索nginx-configuration,找到nginx-configuration,然后单击nginx-configuration操作列的编辑

  6. 配置链路追踪方式。

    根据使用的链路追踪方式,需要配置不同的字段,本文采用zipkin来提供可观测链路 OpenTelemetry 版服务。关于更多接入可观测链路 OpenTelemetry 版方式信息,请参见准备工作概述

    编辑面板单击添加,设置名称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?

  7. 开启可观测链路 OpenTelemetry 版服务。

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

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

  1. 登录可观测链路 OpenTelemetry 版控制台,在左侧导航栏单击应用列表
  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。
  3. 在应用详情页面左侧导航栏中单击接口调用,在左侧的接口列表中单击调用链路页签,调用链路页签列出了该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见接口调用

    调用链路