使用SkyWalking監(jiān)控Java服務(wù)的過(guò)程
你的Java服務(wù)是如何監(jiān)控的呢?
- 1.Null:監(jiān)控?什么監(jiān)控?我一個(gè)寫(xiě)代碼的服務(wù)掛了跟我有什么關(guān)系?
- 2.命令行:服務(wù)掛了??jī)?nèi)存泄漏?jstat jmap jcmd,還好不是我寫(xiě)的
- 3.擼代碼:Java采集JVM/服務(wù)器資源信息 -> Prometheus -> Grafana,請(qǐng)?jiān)试S我對(duì)業(yè)務(wù)代碼稍作修改。

今天,給大家介紹一個(gè)對(duì)源碼0入侵的Java服務(wù)監(jiān)控方式,SkyWalking Agent,只需要啟動(dòng)Java程序的時(shí)候加幾個(gè)參數(shù),就能對(duì)Java服務(wù)進(jìn)行可視化監(jiān)控啦
首次接觸SkyWalking是學(xué)習(xí)SpringCloud的時(shí)候,使用SkyWalking進(jìn)行鏈路追蹤。使用SkyWalking進(jìn)行鏈路追蹤時(shí)得到的拓?fù)鋱D大概是這個(gè)樣子(Demo項(xiàng)目),不過(guò)鏈路追蹤不是本文介紹的重點(diǎn),本文主要講解如何使用SkyWalking進(jìn)行Java服務(wù)的監(jiān)控。

1.下載并配置SkyWalking的后端服務(wù)
SkyWalking是需要后端服務(wù)的,即啟動(dòng)Java項(xiàng)目的時(shí)使用的Agent只負(fù)責(zé)像SkyWalking后端服務(wù)發(fā)送指標(biāo)信息,本身只是個(gè)客戶(hù)端Jar包
(1)下載
直接到SkyWalking的官網(wǎng)下載APM即可,官網(wǎng)地址:https://skywalking.apache.org/
下載完成后解壓,得到這個(gè)文件夾:

(2)修改配置文件
SkyWalking的后端服務(wù)配置文件在 apache-skywalking-apm-bin/webapp 目錄下,主要修改一下服務(wù)端口號(hào),默認(rèn)是8080,如果與你的項(xiàng)目端口不沖突的話,可以忽略這一步

(3)啟動(dòng)SkyWalking后端服務(wù)
Windows的話,直接運(yùn)行apache-skywalking-apm-bin/bin目錄下的startup.bat 就好了,其他系統(tǒng)可以運(yùn)行sh那個(gè)。Windows打開(kāi)后會(huì)出現(xiàn)兩個(gè)黑色的框框,不用管他,最小化就好,這時(shí)我們需要的SkyWalking后端服務(wù)實(shí)際已經(jīng)啟動(dòng)了。
(4)驗(yàn)證
使用瀏覽器打開(kāi) localhost:18080,如果訪問(wèn)正常,說(shuō)明服務(wù)已正常啟動(dòng)。
2.啟動(dòng)Java項(xiàng)目和SkyWalking Agent
SkyWalking使用了比較簡(jiǎn)單的jar包agent方式進(jìn)行客戶(hù)端啟動(dòng),Java服務(wù)啟動(dòng)命令添加以下參數(shù)
-javaagent:F:\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=localhost:11800
參數(shù)說(shuō)明:
- -javaagent后添加skywalking-agent.jar的本地路徑,哦,對(duì)了,這個(gè)agent jar包也是從SkyWalking的官網(wǎng)下載就可以
- skywalking.agent.service_name,該Java服務(wù)在SkyWalking后端服務(wù)中的顯示名稱(chēng)=
- skywalking.collector.backend_service,SkyWalking的后端服務(wù)地址,如果你像我一樣修改了配置文件的話,這里就應(yīng)該是 localhost:11800
3.查看服務(wù)相關(guān)監(jiān)控
使用瀏覽器訪問(wèn) localhost:18080

點(diǎn)擊Service Name,打開(kāi)服務(wù)監(jiān)控面板,其中Overview中記錄了服務(wù)的一些基本監(jiān)控指標(biāo),例如:Service Apdex,請(qǐng)求成功率,平均響應(yīng)時(shí)間等

除了服務(wù)響應(yīng)信息,SkyWalking還可以用來(lái)監(jiān)控JVM。 選擇Instance,并點(diǎn)擊節(jié)點(diǎn)鏈接打開(kāi)詳情

打開(kāi)后的Overview是單個(gè)節(jié)點(diǎn)的服務(wù)響應(yīng)信息

選擇JVM后,就是常見(jiàn)的JVM指標(biāo)啦

可以通過(guò)以上儀表盤(pán)監(jiān)控JVM堆內(nèi)存和堆外內(nèi)存大小,gc時(shí)間和gc次數(shù),以及線程相關(guān)信息和JVM加在的Class數(shù)量,基本的錯(cuò)誤排查大體夠用。不過(guò)并沒(méi)有JVM老年代和年輕代的具體使用情況,內(nèi)存監(jiān)控只區(qū)分了堆外內(nèi)存和堆內(nèi)存。如果是為了詳細(xì)的監(jiān)控JVM的話,這些指標(biāo)感覺(jué)差點(diǎn)兒意思,后面將再介紹一個(gè)擁有更多JVM詳細(xì)監(jiān)控指標(biāo)的開(kāi)源項(xiàng)目,及搭建時(shí)遇到的問(wèn)題,歡迎大家一下交流
到此這篇關(guān)于使用SkyWalking監(jiān)控Java服務(wù)的文章就介紹到這了,更多相關(guān)SkyWalking監(jiān)控Java服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于MyBatis模糊查詢(xún)的幾種實(shí)現(xiàn)方式
在實(shí)際項(xiàng)目中,我們會(huì)經(jīng)常對(duì)數(shù)據(jù)做一些模糊查詢(xún)的操作,這時(shí)候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實(shí)現(xiàn)模糊查詢(xún)呢,需要的朋友可以參考下2023-05-05
SpringBoot?使用?spring.profiles.active?來(lái)區(qū)分不同環(huán)境配置實(shí)現(xiàn)
很多時(shí)候,我們項(xiàng)目在開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境的配置是不一樣的,例如,數(shù)據(jù)庫(kù)配置,在開(kāi)發(fā)的時(shí)候,我們一般用測(cè)試數(shù)據(jù)庫(kù),而在生產(chǎn)環(huán)境,我們要用生產(chǎn)數(shù)據(jù)庫(kù),這時(shí)候,我們可以利用?profile?在不同的環(huán)境下配置用不同的配置文件或者不同的配置,感興趣的可以了解一下2026-04-04
PowerJob的OhMyClassLoader工作流程源碼解讀
這篇文章主要介紹了PowerJob的OhMyClassLoader工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Java中ASCII字符轉(zhuǎn)十進(jìn)制數(shù)值的實(shí)踐指南
在 Java 開(kāi)發(fā)中,將 ASCII 字符轉(zhuǎn)換為其十進(jìn)制數(shù)值表示,是一項(xiàng)看似簡(jiǎn)單卻蘊(yùn)含深層計(jì)算機(jī)科學(xué)原理的基礎(chǔ)操作,本文將從 ASCII 編碼的本質(zhì)出發(fā),結(jié)合 Java 平臺(tái)的特性,系統(tǒng)探討這一轉(zhuǎn)換的核心機(jī)制、應(yīng)用場(chǎng)景、設(shè)計(jì)考量與工程實(shí)踐,需要的朋友可以參考下2026-05-05
spring事務(wù)Propagation及其實(shí)現(xiàn)原理詳解
這篇文章主要介紹了spring事務(wù)Propagation及其實(shí)現(xiàn)原理詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP協(xié)議分析(1)
這篇文章主要介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件的第一篇,針對(duì)FTP協(xié)議進(jìn)行分析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

