设置应用日志关联

在分布式链路跟踪中,通过为应用进行日志关联设置,您可以在单链路显示时查看某一个链路环节所对应的日志信息。

日志关联原理

  • 对应用日志输出的配置进行修改,更改日志输出 Pattern,在应用日志中,输出 TraceId 及 SpanId。

  • 在云端应用中,设置需要采应用日志的应用名称,并配置日志名,及日志路径,进行日志采集。

  • 在链路上点击应用节点,应用将会从日志中根据应用名、TraceId 以及 SpanId 查找并显示对应的日志。

操作步骤

配置本地应用日志打印

要实现链路与应用日志关联,本地应用日志打印时必须正确输出 TraceId 及 SpanId。分布式链路跟踪的 Tracer 集成了 SLF4J MDC 功能,所以您只需简单修改日志配置文件中的日志输出 Pattern,即可实现日志输出 Tracer 上下文 TraceId 以及 SpanId。

  1. 确保 SOFABoot 应用引入了 Tracer 依赖。

    <dependency>
        <groupId>com.alipay.sofa</groupId>
        <artifactId>tracer-enterprise-sofa-boot-starter</artifactId>
    </dependency>
  2. 在 PatternLayout 中增加 %X{SOFA-TraceId}%X{SOFA-SpanId} 配置。

    <PatternLayout>
        <pattern>%d %-5p %-32t [%X{SOFA-TraceId},%X{SOFA-SpanId}] - %m%n</pattern>
    </PatternLayout>

完成以上配置后,实际输出的应用日志如下示例:

2019-12-1023:59:50.214,[0a19018e157599359021261502137,0.1.1], spring mvc is invoked.

云端添加应用日志

  1. 进入分布式链路跟踪控制台页面,在左侧导航栏选择 设置

  2. 如您是第一次使用日志关联功能,您需要前往 RAM 控制台,创建并获取具有 AliyunLogFullAccess 权限策略的 AccessKey 及 AccessKeySecret。详细操作步骤,可参见 创建 AccessKey

  3. 获取 AK、SK 后,即可返回 分布式链路跟踪 > 设置,输入相应的 Access Key 与 Access Secret。

  4. 日志配置 页,单击 添加应用,在弹出的窗口中填入正确的应用名称后单击 确定

    说明

    应用名必须与系统打印日志中的 appName 一致,否则无法获取应用数据。

  5. 应用添加成功后,单击 添加日志

  6. 在弹出的 添加日志 窗口,设置日志名称、全路径等信息,并单击 确定

查看应用关联日志

您可以前往链路搜索页面,找到该应用的相关链路,查看链路详情。在链路详情页,单击应用名右侧的日志图标,即可查看该应用的相关日志,如下图所示。应用日志关联