首页>>后端>>SpringBoot->Spring boot接入SkyWalking分布式链路追踪

Spring boot接入SkyWalking分布式链路追踪

时间:2023-11-29 本站 点击:1

下载SkyWalking(推荐官网)

官网地址:https://skywalking.apache.org/downloads/

直接下载tar包:https://www.apache.org/dyn/closer.cgi/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz

本地启动SkyWalking

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

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配置文件添加配置

<!--控制台输出--><appendername="Console"class="ch.qos.logback.core.ConsoleAppender"><encoderclass="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layoutclass="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>${logEnv}%d{yyyy-MM-ddHH:mm:ss.SSS}[%X{tid}][%thread]%-5level%logger{36}-%msg%n</Pattern></layout></encoder></appender><!--上报给logstash--><appendername="logStash"class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>${StashUrl}</destination><encodercharset="UTF-8"class="net.logstash.logback.encoder.LogstashEncoder"><providerclass="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下即可


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/376.html