Spring Cloud 整合Apache-SkyWalking實(shí)現(xiàn)鏈路跟蹤的方法
什么是SkyWalking
查看官網(wǎng)https://skywalking.apache.org/
分布式系統(tǒng)的應(yīng)用程序性能監(jiān)視工具,專為微服務(wù)、云原生架構(gòu)和基于容器(Docker、K8s、Mesos)架構(gòu)而設(shè)計(jì)。
安裝
進(jìn)入下載頁(yè)面https://skywalking.apache.org/zh/downloads/
這里用的是ElasticSearch 7版本,所以你需要安裝完成ElasticSearch 7,不再贅述。

解壓后,可以修改啟動(dòng)端口
apache-skywalking-apm-bin-es7/webapp/webapp.yml
啟動(dòng)
bin/startup.bat
打開(kāi)地址:http:.//localhost:8080

部署完成了,你也可以使用Docker 部署。如下:
[root@localhost ~]# docker search skywalking NAME DESCRIPTION apache/skywalking-oap-server Apache SkyWalking OAP Server apache/skywalking-ui Apache SkyWalking Web UI
拉取
docker pull apache/skywalking-oap-server docker pull apache/skywalking-ui
啟動(dòng)容器
docker run \ --name skywalking \ -d \ -p 11800:11800 \ -p 12800:12800 \ --restart always \ --link elasticsearch:elasticsearch \ -e TZ=Asia/Shanghai \ -e SW_STORAGE=elasticsearch \ -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \ apache/skywalking-oap-server docker run \ --name skywalking-ui \ -d \ -p 7070:8080 \ --link skywalking:skywalking \ -e TZ=Asia/Shanghai \ -e SW_OAP_ADDRESS=skywalking:12800 \ --restart always \ apache/skywalking-ui \
地址為 http://內(nèi)網(wǎng)宿主機(jī)ip:7070
連接地址為:內(nèi)網(wǎng)宿主機(jī)ip:11800
agent 鏡像使用:
待補(bǔ)充
使用
Java Agent簡(jiǎn)介
簡(jiǎn)單說(shuō):我們可以使用agent技術(shù)構(gòu)建一個(gè)獨(dú)立于應(yīng)用程序的代理程序(即為Agent),用來(lái)協(xié)助監(jiān)測(cè)、運(yùn)行甚至替換其他JVM上的程序。使用它可以實(shí)現(xiàn)虛擬機(jī)級(jí)別的AOP功能。
SpringBoot 使用 Java Agent
首先將安裝目錄下的agent目錄全部拷貝到你的項(xiàng)目文件夾下
接著(IDEA為例),改為你的地址即可
-javaagent:D:\Project\jiangsu-unified-platform\apache-skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jiangsu-bid-service -Dskywalking.collector.backend_service=192.168.11.137:11800

啟動(dòng)項(xiàng)目,日志已經(jīng)出現(xiàn)了。

刷新頁(yè)面,已經(jīng)注冊(cè)了。

現(xiàn)在點(diǎn)擊一個(gè)請(qǐng)求測(cè)試下,你可以點(diǎn)開(kāi)各個(gè)頁(yè)面,查看信息了。

請(qǐng)求路徑分析

正常,需要配合網(wǎng)關(guān)使用。
將插件放入,然后和之前一樣配置下,修改下service的名稱。

這里我是JDK11 啟動(dòng)報(bào)錯(cuò)
java.lang.UnsupportedOperationException: Reflective setAccessible(true) disabled at org.apache.skywalking.apm.dependencies.io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31) at org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$4.run(PlatformDependent0.java:224) at java.base/java.security.AccessController.doPrivileged(Native Method) ... java.lang.IllegalAccessException: class org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @74960bfa at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361) at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591) at java.base/java.lang.reflect.Method.invoke(Method.java:558) at org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:334) at java.base/java.security.AccessController.doPrivileged(Native Method)
但是沒(méi)影響。請(qǐng)求后,查看拓?fù)鋱D,調(diào)用了哪些組件一目了然。

總結(jié)
到此這篇關(guān)于Spring Cloud 整合Apache-SkyWalking實(shí)現(xiàn)鏈路跟蹤的方法的文章就介紹到這了,更多相關(guān)Spring 鏈路跟蹤內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Feign實(shí)現(xiàn)跨服務(wù)文件上傳下載
這篇文章主要為大家詳細(xì)介紹了Feign實(shí)現(xiàn)跨服務(wù)文件上傳下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Spring Cloud Gateway內(nèi)置的斷言和過(guò)濾器作用說(shuō)明
這篇文章主要介紹了Spring Cloud Gateway內(nèi)置的斷言和過(guò)濾器作用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Java基礎(chǔ)之spring5新功能學(xué)習(xí)
這篇文章主要介紹了Java基礎(chǔ)之spring5新功能學(xué)習(xí),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05
java?SpringBoot?分布式事務(wù)的解決方案(JTA+Atomic+多數(shù)據(jù)源)
這篇文章主要介紹了java?SpringBoot?分布式事務(wù)的解決方案(JTA+Atomic+多數(shù)據(jù)源),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08
SpringBoot項(xiàng)目微信云托管入門部署實(shí)踐
本文主要介紹了SpringBoot項(xiàng)目微信云托管入門部署實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
eclipse啟動(dòng)tomcat無(wú)法訪問(wèn)的解決方法
這篇文章介紹了eclipse啟動(dòng)tomcat無(wú)法訪問(wèn)的解決方法,有需要的朋友可以參考一下2013-10-10
mybatis中使用InsertProvider注解報(bào)錯(cuò)解決全過(guò)程
這篇文章主要介紹了mybatis中使用InsertProvider注解報(bào)錯(cuò)解決全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式
這篇文章主要介紹了詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
一文詳解Java17中LinkedList類的用法和應(yīng)用場(chǎng)景
LinkedList 是 Java 集合框架中基于雙向鏈表實(shí)現(xiàn)的類,實(shí)現(xiàn)了 List 和 Deque 接口,本文將為大家介紹一下它在Java 17 中如何更高效的使用吧2025-03-03

