Spring Cloud Alibaba微服務系列-服務鏈路追蹤Skywalking

一、前言

SkyWalking針對的是微服務和分布式服務,包括現(xiàn)在的容器化。在這樣的環(huán)境中,應用間依賴關系復雜多變,無論是設計、開發(fā)還是運維團隊,都不具備對系統(tǒng)實際關系和運行情況的理解能力。主流大型企業(yè)的內(nèi)部系統(tǒng)都有幾十個子系統(tǒng),其中有上百個服務和上千個實例在運行,理解這套系統(tǒng)的依賴關系是SkyWalking要解決的第一大問題。

Skywalking創(chuàng)始人是中國人吳晟,他是Apache軟件基金會第一位中國董事。

GitHub地址:https://github.com/apache/skywalking

二、安裝運行

# 下載源碼
git clone https://github.com/apache/skywalking.git

cd skywalking/

# 切換分支
git checkout v8.5.0

git submodule init

# 這里容易超時,注意檢查,可以多試幾次
git submodule update

# maven編譯 windows
mvnw clean package -DskipTests

# maven編譯 mac
./mvnw clean package -DskipTests

編譯時間比較長(運氣不好要半個小時),請耐心等待。所有打出來的包都在目錄/dist 下

解壓/dist/apache-skywalking-apm-bin.tar.gz

# 運行
sh startup.sh

訪問:http://localhost:8080/

三、使用

SkyWalking的使用是無代碼侵入的,而這種無侵入是基于Java的JavaAgent技術。

JavaAgent在字節(jié)碼文件生成Class對象之前對字節(jié)碼文件進行修改。

使用方法就是添加-javaagent:xxx.jar。如java -javaagent:xxx.jar -jar test.jar

# 添加JavaAgent
-javaagent:${absolute path}/skywalking-agent.jar

# 后面?zhèn)魅敕彰Q參數(shù)
-Dskywalking.agent.service_name=serviceName

Idea中 添加JavaAgent:

-javaagent:/Users/liulihu/workplace/development/blog/tools/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=consumer-service
QQ20210529-220039@2x.png

然后進行多次請求(有時候要等一兩分鐘才能同步過來),可以在監(jiān)控臺看到監(jiān)控信息。

QQ20210529-224917@2x.png
QQ20210529-232426@2x.png
QQ20210529-232305@2x.png

四、結(jié)語

這里這是先嘗個鮮,后續(xù)有時間再詳細說一下JavaAgent原理和Skywalking的實際使用。

源碼地址:https://github.com/tigerleeli/xiaohuge-blog/tree/master/spring-cloud-alibaba-skywalking

同步微信公眾號:小虎哥的技術博客

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容