歡迎您光臨本站 註冊首頁

Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法_java

←手機掃碼閱讀     e36605 @ 2020-06-19 , reply:0

什麼是SkyWalking

查看官網https://skywalking.apache.org/

分佈式系統的應用程序性能監視工具,專為微服務、雲原生架構和基於容器(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),用來協助監測、運行甚至替換其他JVM上的程序。使用它可以實現虛擬機級別的AOP功能。

SpringBoot 使用 Java Agent

首先將安裝目錄下的agent目錄全部拷貝到你的項目文件夾下

接著(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

 

在這裡插入圖片描述

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

在這裡插入圖片描述

刷新頁面,已經註冊了。

在這裡插入圖片描述

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

在這裡插入圖片描述

請求路徑分析

在這裡插入圖片描述

正常,需要配合網關使用。
 將插件放入,然後和之前一樣配置下,修改下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)

 

但是沒影響。請求後,查看拓撲圖,調用了哪些組件一目瞭然。

在這裡插入圖片描述

 


[e36605 ] Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法_java已經有276次圍觀

http://coctec.com/docs/java/show-post-239093.html