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

解壓后,可以修改啟動端口
apache-skywalking-apm-bin-es7/webapp/webapp.yml
啟動
bin/startup.bat
打開地址: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
啟動容器
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://內網宿主機ip:7070
連接地址為:內網宿主機ip:11800
agent 鏡像使用:
待補充
使用
Java Agent簡介
簡單說:我們可以使用agent技術構建一個獨立于應用程序的代理程序(即為Agent),用來協(xié)助監(jiān)測、運行甚至替換其他JVM上的程序。使用它可以實現虛擬機級別的AOP功能。
SpringBoot 使用 Java Agent
首先將安裝目錄下的agent目錄全部拷貝到你的項目文件夾下
接著(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

啟動項目,日志已經出現了。

刷新頁面,已經注冊了。

現在點擊一個請求測試下,你可以點開各個頁面,查看信息了。

請求路徑分析

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

這里我是JDK11 啟動報錯
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)
但是沒影響。請求后,查看拓撲圖,調用了哪些組件一目了然。

總結
到此這篇關于Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法的文章就介紹到這了,更多相關Spring 鏈路跟蹤內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
IntelliJ?IDEA?2020.2.3永久破解激活教程(親測有效)
intellij?idea?2022是一款市面上最好的JAVA?IDE編程工具,該工具支持git、svn、github等版本控制工具,整合了智能代碼助手、代碼自動提示等功能,本教程給大家分享IDEA?2022最新永久激活碼,感興趣的朋友參考下吧2020-10-10
SpringBoot2 task scheduler 定時任務調度器四種方式
這篇文章主要介紹了SpringBoot2 task scheduler 定時任務調度器四種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03
使用Mybatis-plus實現時間自動填充(代碼直接可用)
這篇文章主要介紹了使用Mybatis-plus實現時間自動填充(代碼直接可用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

