文档

使用Nginx-Ingress-tracing实现链路追踪

更新时间:

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

前提条件

背景信息

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

步骤一:获取接入点信息

获取接入点信息,根据实际情况选择客户端采集工具,本文以Zipkin为例。

  1. 登录可观测链路 OpenTelemetry 版控制台
  2. 在控制台页面顶部选择地域。

    说明

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

  3. 在左侧导航栏单击集群配置,然后单击接入点信息页签。

  4. 打开显示Token开关,然后在下方表格的相关信息列中,单击接入点信息末尾的复制图标。

    说明
    • 建议选择v1版本接入点。

    • 对于ACK集群应用,建议通过ARMS OpenTelemetry Collector上报应用数据。ARMS OpenTelemetry Collector支持本地集群内的链路采样与指标无损统计,在降低链路传输、存储成本的同时,不影响监控或告警指标的准确性。更多信息,请参见ARMS OpenTelemetry Collector

    接入点信息-zipkin

步骤二:在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. 开启链路追踪服务。

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

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

  1. 登录可观测链路 OpenTelemetry 版控制台
  2. 在控制台左侧导航栏中单击应用列表

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

  4. 在应用详情页面左侧导航栏中单击接口调用,在左侧的接口列表中单击调用链路页签,调用链路页签列出了该应用耗时最长的至多100个调用链路。关于更多链路数据,请参见接口调用

    调用链路

  • 本页导读 (1)
文档反馈