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 skywalkingNAMEDESCRIPTION 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:Projectjiangsu-unified-platformapache-skywalkingagentskywalking-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) disabledat 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 @74960bfaat 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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何通過(guò)axios發(fā)起Ajax請(qǐng)求(最新推薦)2. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法3. Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼4. Android實(shí)現(xiàn)下載進(jìn)度條效果5. 概述IE和SQL2k開(kāi)發(fā)一個(gè)XML聊天程序6. 解決Docker x509 insecure registry的問(wèn)題7. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟8. xml中的空格之完全解說(shuō)9. ajax實(shí)現(xiàn)頁(yè)面的局部加載10. 使用IDEA編寫(xiě)jsp時(shí)EL表達(dá)式不起作用的問(wèn)題及解決方法
