通过ALB链路追踪实现业务全链路分析

阿里云ALB支持链路追踪功能,通过该功能您可以获得完整的ALB请求追踪数据,包括请求的来源、经过的节点、响应时间等信息,有助于您快速定位和解决业务问题。

背景信息

链路追踪为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑以及应用依赖分析等工具,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈。ALB支持链路追踪,通过开启ALB链路追踪功能能够协助用户将ALB访问链路,一键接入阿里云可观测链路 OpenTelemetry 版。关于可观测链路 OpenTelemetry 版的更多信息,请参见什么是可观测链路 OpenTelemetry 版

链路数据用于记录单次请求范围内的处理信息,其中包括服务调用和处理时长等数据。

一条链路数据对应一条调用链(Trace)。在广义上,一个调用链代表一个事务或者流程在(分布式)系统中的执行过程。在OpenTracing标准中,调用链是多个Span组成的一个有向无环图(Directed Acyclic Graph,简称DAG),每个Span代表调用链中被命名并计时的连续性执行片段。关于调用链的更多信息,请参见什么是调用链(Trace)?

注意事项

  • 仅标准版和WAF增强版的ALB实例支持链路追踪,基础版ALB实例不支持。

  • 使用链路追踪功能,会为您默认开通阿里云可观测链路OpenTelemetry版服务和访问日志服务。开通使用后,会产生数据上报、链路存储以及日志服务等费用。具体计费规则,请参见可观测链路 OpenTelemetry 版计费说明日志服务计费说明

  • ALB链路追踪支持的地域,请参见下表。

    区域

    地域

    中国

    华东1(杭州)、华东2(上海)、华南1(深圳)、西南1(成都)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、中国香港、华南3(广州)、华南2(河源)

    亚太

    新加坡、马来西亚(吉隆坡)、日本(东京)、印度尼西亚(雅加达)

    欧洲与美洲

    英国(伦敦)、德国(法兰克福)、美国(弗吉尼亚)、美国(硅谷)

  • 关闭链路追踪功能相关说明:

    • 关闭监听的链路追踪功能后,访问日志仍会保持开启状态,若您无须使用访问日志,请手动关闭。

    • 若您正在使用链路追踪功能,关闭访问日志会导致链路追踪不可用,请谨慎关闭。

    • ALB实例下所有监听的链路追踪均关闭后,ALB会关闭到可观测链路OpenTelemetry版服务的调用链数据投递。

前提条件

  • 您已创建ALB实例并为该ALB创建了服务器组。具体操作,请参见创建应用型负载均衡创建和管理服务器组

  • 您已为该ALB实例配置了监听并关联了服务器组。具体操作,请参见添加HTTP监听

  • 您已创建ECS实例作为后端服务器,且在ECS实例中部署了Nginx服务,该ECS实例已添加至服务器组。

    本文ECS实例部署测试应用示例如下:

    ECS服务部署命令

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS." > index.html

步骤一:开启链路追踪

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB实例所属的地域。

  3. 在ALB实例页面,找到目标ALB实例,单击实例ID。

  4. 单击监听页签,找到目标监听,单击监听ID。

  5. 监听详情页签的链路追踪区域,开启链路追踪开关。

  6. 开启链路追踪对话框,根据您的需要配置参数。

    配置

    说明

    开通服务

    说明

    当您已开通可观测链路OpenTelemetry版服务,可以忽略此步骤。

    开通可观测链路OpenTelemetry版

    勾选服务协议确认开通。

    创建访问日志

    说明

    当您已创建访问日志,可以忽略此步骤。

    项目Project

    日志服务中的资源管理单元,用于资源隔离和控制。

    • 选择现有Project:在下拉框中选择一个Project。

    • 新建Project:在文本框中输入新建Project名称。

    日志库Logstore

    日志服务中日志数据的采集、存储和查询单元。

    • 选择现有Logstore:在下拉框中选择一个Logstore。

    • 新建Logstore:在文本框中输入新建Logstore名称。Project选择新建时,Logstore也需选择新建。

    配置链路追踪

    链路追踪类型

    选择链路追踪的类型。

    只支持选择Xtrace:表示已为您开通阿里云可观测链路 OpenTelemetry 版并开启链路追踪功能。

    采样率

    取值范围1~100,默认值为100。

    您可以通过设置采样率来调整链路上报量。

    服务关联角色创建须知

    执行此操作时,系统将会为您自动创建服务关联角色,以完成相应功能。

步骤二:查看链路数据

  1. 登录客户端的任意一台终端测试客户端与服务器端之间的连通性。具体操作,请参见快速实现IPv4服务的负载均衡ALB快速实现IPv6服务的负载均衡

  2. 登录应用型负载均衡ALB控制台
  3. 在ALB实例页面,找到目标ALB实例,单击实例ID。

  4. 单击监听页签,找到目标监听,单击监听ID。

  5. 监听详情页签的链路追踪区域,调用链分析右侧单击查看,前往可观测链路 OpenTelemetry版控制台。

    通过调用链分析页面对ALB访问后端应用的调用链信息进行分析,您可以查看链路中的调用链列表、调用次数以及全链路聚合等信息。关于链路数据的更多信息,请参见调用链分析

    测试结果.png

相关文档