Springboot接入SkyWalking分布式链路追踪

愿天堂没有BUG

共 2486字,需浏览 5分钟

 ·

2021-07-08 15:25

下载SkyWalking(推荐官网)

skywalking.apache.org/downloads/

直接下载tar包  www.apache.org/dyn/closer.…

本地启动SkyWalking

  1. 解压缩tar包,进入apache-skywalking-apm-bin/bin目录

  2. windows系统直接运行startup.bat(linux系统运行startup.sh);出现如下视图,表示启动成功

浏览器打开:http://localhost:8080/ 即可访问SkyWalking的管理界面

Springboot接入SkyWalking

以javaagent的方式接入,对代码无侵入

java -javaagent:/usr/skywalking/agent/skywalking-agent.jar  -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=127.0.0.1:11800
复制代码

如果是用idea启动springboot项目,可在VM参数区配置

启动项目,看到如下拓扑图,即说明你的服务已被监控

日志打印trace_id

以logback为例

  • pom文件添加依赖

        <dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
</dependency>
复制代码
  • logback配置文件添加配置

    <!-- 控制台输出 -->
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>${logEnv} %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n
</Pattern>
</layout>
</encoder>
</appender>

<!-- 上报给logstash -->
<appender name="logStash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${StashUrl}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
<provider class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.logstash.TraceIdJsonProvider"/>
<customFields>{"applicationName":"${AppID}-${logEnv}"}</customFields>
</encoder>
</appender>
复制代码
  • idea启动项目可看到控制台输出

  • Kibana上查看日志

  • 通过trace_id查看调用链路

解决项目使用WebFlux框架导致trace_id无法获取的问题

比如使用了Springcloud的gateway组件

将上图中\apache-skywalking-apm-bin\agent\optional-plugins下的4个可选插件复制到 \apache-skywalking-apm-bin\agent\plugins下即可


作者:l拉不拉米
链接:https://juejin.cn/post/6981640309943828487
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



浏览 56
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报