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

背景信息

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

步骤一:获取接入点信息

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

  1. 登录ARMS控制台
  2. 在控制台页面顶部选择地域。
    说明 地域需要与步骤二:在Ingress中开启链路追踪服务的ACK集群保持一致。
  3. 在左侧导航栏单击链路追踪 > 集群配置
  4. 集群配置页面上单击接入点信息页签,在集群信息区域打开显示Token开关。
  5. 客户端采集工具区域单击Zipkin
  6. 在下方表格的相关信息列中,单击接入点信息末尾的复制图标。
    说明 建议选择v1版本接入点。
    接入点信息-zipkin

步骤二:在Ingress中开启链路追踪服务

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

    根据使用的链路追踪方式,需要配置不同的字段,本文采用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?
  7. 开启链路追踪服务。

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

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

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