常见问题

本文汇总了分布式链路跟踪服务(DST)在使用过程中的一些常见问题及对应的解决方案。

应用正常运行却无法在控制台被展示

现象

如题

原因

分布式链路跟踪服务底层依赖于 日志服务 进行应用日志信息的收集,日志服务未开通或未按照日志采集客户端均可导致跟踪信息无法显示。

解决方法

确认您已经完成以下操作步骤:

  1. 在应用服务中开启日志服务产品,参见 日志服务开通流程

  2. 安装日志采集客户端 Logtail 进行日志采集,安装流程参见 快速开始

多维查询没有结果,或者搜索链路为空

现象

如题

原因

要查询的链路调用时间超过有效时间(缓存 7 天)或日志采集未正确配置。

解决方案

进行以下检查:

  • 链路调用时间是否在有效时间内。分布式链路跟踪系统会对日志作 7 天缓存,系统无法查询到超出缓存时间的链路数据。

  • 日志服务是否开启及日志采集客户端是否正常安装,参见问题 应用正常运行却无法在控制台被展示

如何配置 tracer,以便按照小时分割 trace 日志?

需求背景

  • 在默认设置中,中间件的 tracelog 是按天来分割的。每 24 小时生成一个新的日志。

  • 客户想要在 SOFABoot 商业版中对 tracelog 每小时分割一次。

解决方案

  1. 在 pom.xml 中添加 tracer 商业版的 jar 包。

    <dependency>
          <groupId>com.alipay.sofa</groupId>
          <artifactId>tracer-enterprise-sofa-boot-starter</artifactId>
    </dependency>
  2. application.properties 中添加配置:com.alipay.sofa.tracer.tracerGlobalRollingPolicy=.yyyy-MM-dd_HH

RPC Tracer 打印不出 rpc-client-digest.log

现象

RPC Tracer 打印不出 rpc-client-digest.log,但是能打印 rpc-client-stat.log,而且,实际上已经调用了 RPC 服务。

原因

客户的代码中手动进行了日志初始化设置,其中 isSampled = false

解决方案

SOFABoot 框架会自动打印日志,不需要手动创建,因此需要修改代码。

示例如下:

代码修改示例