微服务链路追踪 Skywalking 生成 Trace ID 以及 logback 日志归集

编程入门 行业动态 更新时间:2024-10-11 15:21:55

微服务<a href=https://www.elefans.com/category/jswz/34/1768738.html style=链路追踪 Skywalking 生成 Trace ID 以及 logback 日志归集"/>

微服务链路追踪 Skywalking 生成 Trace ID 以及 logback 日志归集

文章目录

      • 1 摘要
      • 2 核心 Maven 依赖
      • 3 Logback 配置
      • 4 日志使用效果
      • 5 推荐参考资料
      • 6 Github 源码


1 摘要

要实现精确的链路追踪,则需要针对每一次请求设置一个唯一编码,Trace ID 就是用于链路追踪的标识。本文将介绍 Skywalking 在 SpringBoot 项目中集成 Trace ID 以及配置 logback 实现日志异步上传到 Skywalking 的功能。

准备工作

Spring Cloud Alibaba 2.X 简易集成 Skywalking 实现微服务链路追踪

2 核心 Maven 依赖

./cloud-alibaba-gateway-filter/pom.xml
./cloud-alibaba-server-provider/pom.xml
./cloud-alibaba-server-consumer/pom.xml
./cloud-alibaba-server-consumer-feign/pom.xml
        <!-- skywalking toolkit --><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>${skywalking.toolkit.version}</version><scope>provided</scope></dependency><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>${skywalking.toolkit.version}</version></dependency>

其中 ${skywalking.toolkit.version} 的版本为 8.7.0

3 Logback 配置

./cloud-alibaba-gateway-filter/src/main/resources/logback.xml
./cloud-alibaba-server-provider/src/main/resources/logback.xml
./cloud-alibaba-server-consumer/src/main/resources/logback.xml
./cloud-alibaba-server-consumer-feign/src/main/resources/logback.xml
    <property name="FILE_LOG_PATTERN"value="%d{yyyy-MM-dd HH:mm:ss} | %-5level | %thread | %tid | %logger{50} %L\ | %msg%n" />

其中 tid 即为 Trace ID

    <appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender" ><!-- 对日志进行格式化 --><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"><pattern>${FILE_LOG_PATTERN}</pattern></layout></encoder></appender>

将日志上传至 Skywalking 的配置

4 日志使用效果

控制台日志

2021-11-23 14:44:56 | INFO  | http-nio-8604-exec-8 | TID:9db5a370aa5847569b036d44ce972999.707.16376498966050097 | c.l.d.s.a.s.c.f.controller.NacosConsumerController 26| /hello request data: HelloParam(name=gateway-feign-德玛西亚)
2021-11-23 14:44:56 | INFO  | http-nio-8604-exec-8 | TID:9db5a370aa5847569b036d44ce972999.707.16376498966050097 | c.l.d.s.a.s.c.f.controller.NacosConsumerController 28| response: Hello,gateway-feign-德玛西亚

根据 tid 在 Skywalking 搜索日志

也可以从链路追踪界面点击查看日志

5 推荐参考资料

SpringBoot项目traceId生成/日志打印

微服务链路追踪组件 Skywalking 实战

SpringBoot集成Skywalking和logback.xml

6 Github 源码

Gtihub 源码地址 :

个人公众号:404Code,分享半个互联网人的技术与思考,感兴趣的可以关注.

更多推荐

微服务链路追踪 Skywalking 生成 Trace ID 以及 logback 日志归集

本文发布于:2024-03-08 13:14:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720978.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链路   归集   日志   Skywalking   ID

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!