使用SkyWalking監(jiān)控Java服務的過程
你的Java服務是如何監(jiān)控的呢?
- 1.Null:監(jiān)控?什么監(jiān)控?我一個寫代碼的服務掛了跟我有什么關系?
- 2.命令行:服務掛了?內存泄漏?jstat jmap jcmd,還好不是我寫的
- 3.擼代碼:Java采集JVM/服務器資源信息 -> Prometheus -> Grafana,請允許我對業(yè)務代碼稍作修改。
今天,給大家介紹一個對源碼0入侵的Java服務監(jiān)控方式,SkyWalking Agent,只需要啟動Java程序的時候加幾個參數,就能對Java服務進行可視化監(jiān)控啦
首次接觸SkyWalking是學習SpringCloud的時候,使用SkyWalking進行鏈路追蹤。使用SkyWalking進行鏈路追蹤時得到的拓撲圖大概是這個樣子(Demo項目),不過鏈路追蹤不是本文介紹的重點,本文主要講解如何使用SkyWalking進行Java服務的監(jiān)控。
1.下載并配置SkyWalking的后端服務
SkyWalking是需要后端服務的,即啟動Java項目的時使用的Agent只負責像SkyWalking后端服務發(fā)送指標信息,本身只是個客戶端Jar包
(1)下載
直接到SkyWalking的官網下載APM即可,官網地址:https://skywalking.apache.org/
下載完成后解壓,得到這個文件夾:
(2)修改配置文件
SkyWalking的后端服務配置文件在 apache-skywalking-apm-bin/webapp 目錄下,主要修改一下服務端口號,默認是8080,如果與你的項目端口不沖突的話,可以忽略這一步
(3)啟動SkyWalking后端服務
Windows的話,直接運行apache-skywalking-apm-bin/bin目錄下的startup.bat 就好了,其他系統可以運行sh那個。Windows打開后會出現兩個黑色的框框,不用管他,最小化就好,這時我們需要的SkyWalking后端服務實際已經啟動了。
(4)驗證
使用瀏覽器打開 localhost:18080,如果訪問正常,說明服務已正常啟動。
2.啟動Java項目和SkyWalking Agent
SkyWalking使用了比較簡單的jar包agent方式進行客戶端啟動,Java服務啟動命令添加以下參數
-javaagent:F:\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=localhost:11800
參數說明:
- -javaagent后添加skywalking-agent.jar的本地路徑,哦,對了,這個agent jar包也是從SkyWalking的官網下載就可以
- skywalking.agent.service_name,該Java服務在SkyWalking后端服務中的顯示名稱=
- skywalking.collector.backend_service,SkyWalking的后端服務地址,如果你像我一樣修改了配置文件的話,這里就應該是 localhost:11800
3.查看服務相關監(jiān)控
使用瀏覽器訪問 localhost:18080
點擊Service Name,打開服務監(jiān)控面板,其中Overview中記錄了服務的一些基本監(jiān)控指標,例如:Service Apdex,請求成功率,平均響應時間等
除了服務響應信息,SkyWalking還可以用來監(jiān)控JVM。 選擇Instance,并點擊節(jié)點鏈接打開詳情
打開后的Overview是單個節(jié)點的服務響應信息
選擇JVM后,就是常見的JVM指標啦
可以通過以上儀表盤監(jiān)控JVM堆內存和堆外內存大小,gc時間和gc次數,以及線程相關信息和JVM加在的Class數量,基本的錯誤排查大體夠用。不過并沒有JVM老年代和年輕代的具體使用情況,內存監(jiān)控只區(qū)分了堆外內存和堆內存。如果是為了詳細的監(jiān)控JVM的話,這些指標感覺差點兒意思,后面將再介紹一個擁有更多JVM詳細監(jiān)控指標的開源項目,及搭建時遇到的問題,歡迎大家一下交流
到此這篇關于使用SkyWalking監(jiān)控Java服務的文章就介紹到這了,更多相關SkyWalking監(jiān)控Java服務內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mybatis 實現動態(tài)組裝查詢條件,仿SQL模式
這篇文章主要介紹了Mybatis 實現動態(tài)組裝查詢條件,仿SQL模式的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06spring cloud gateway整合sentinel實現網關限流
這篇文章主要介紹了spring cloud gateway整合sentinel實現網關限流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01