Springboot接入SkyWalking分布式鏈路追蹤
下載SkyWalking(推薦官網(wǎng))
skywalking.apache.org/downloads/
直接下載tar包 www.apache.org/dyn/closer.…
本地啟動(dòng)SkyWalking
解壓縮tar包,進(jìn)入apache-skywalking-apm-bin/bin目錄
windows系統(tǒng)直接運(yùn)行startup.bat(linux系統(tǒng)運(yùn)行startup.sh);出現(xiàn)如下視圖,表示啟動(dòng)成功

瀏覽器打開(kāi):http://localhost:8080/ 即可訪問(wèn)SkyWalking的管理界面

Springboot接入SkyWalking
以javaagent的方式接入,對(duì)代碼無(wú)侵入
java -javaagent:/usr/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=127.0.0.1:11800
復(fù)制代碼如果是用idea啟動(dòng)springboot項(xiàng)目,可在VM參數(shù)區(qū)配置

啟動(dòng)項(xiàng)目,看到如下拓?fù)鋱D,即說(shuō)明你的服務(wù)已被監(jiān)控

日志打印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>
復(fù)制代碼logback配置文件添加配置
<!-- 控制臺(tái)輸出 -->
<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>
<!-- 上報(bào)給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>
復(fù)制代碼idea啟動(dòng)項(xiàng)目可看到控制臺(tái)輸出

Kibana上查看日志

通過(guò)trace_id查看調(diào)用鏈路

解決項(xiàng)目使用WebFlux框架導(dǎo)致trace_id無(wú)法獲取的問(wèn)題
比如使用了Springcloud的gateway組件
將上圖中\(zhòng)apache-skywalking-apm-bin\agent\optional-plugins下的4個(gè)可選插件復(fù)制到
\apache-skywalking-apm-bin\agent\plugins下即可
作者:l拉不拉米
鏈接:https://juejin.cn/post/6981640309943828487
來(lái)源:掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
