學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師
本節(jié)視頻
Java Agent 服務(wù)器探針
參考官網(wǎng)給出的幫助 Setup java agent,我們需要使用官方提供的探針為我們達(dá)到監(jiān)控的目的响巢,按照實(shí)際情況我們需要實(shí)現(xiàn)三種部署方式
- IDEA 部署探針
- Java 啟動(dòng)方式部署探針(我們是 Spring Boot 應(yīng)用程序描滔,需要使用
java -jar
的方式啟動(dòng)應(yīng)用) - Docker 啟動(dòng)方式部署探針(需要做到一次構(gòu)建到處運(yùn)行的持續(xù)集成效果,本章節(jié)暫不提供解決方案踪古,到后面的實(shí)戰(zhàn)環(huán)節(jié)再實(shí)現(xiàn))
探針文件在 apache-skywalking-apm-incubating/agent
目錄下
IDEA 部署探針
繼續(xù)之前的案例項(xiàng)目含长,創(chuàng)建一個(gè)名為 hello-spring-cloud-external-skywalking
的目錄,并將 agent
整個(gè)目錄拷貝進(jìn)來(lái)
修改項(xiàng)目的 VM 運(yùn)行參數(shù)伏穆,點(diǎn)擊菜單欄中的 Run
-> EditConfigurations...
拘泞,此處我們以 nacos-provider
項(xiàng)目為例,修改參數(shù)如下
-javaagent:D:\Workspace\Others\hello-spring-cloud-alibaba\hello-spring-cloud-external-skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=nacos-provider
-Dskywalking.collector.backend_service=localhost:11800
-
-javaagent
:用于指定探針路徑 -
-Dskywalking.agent.service_name
:用于重寫(xiě)agent/config/agent.config
配置文件中的服務(wù)名 -
-Dskywalking.collector.backend_service
:用于重寫(xiě)agent/config/agent.config
配置文件中的服務(wù)地址
Java 啟動(dòng)方式
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=nacos-provider -Dskywalking.collector.backend_service=localhost:11800 -jar yourApp.jar
測(cè)試監(jiān)控
啟動(dòng) nacos-provider
項(xiàng)目枕扫,通過(guò)觀察日志可以發(fā)現(xiàn)田弥,已經(jīng)成功加載探針
訪問(wèn)之前寫(xiě)好的接口 http://localhost:8081/echo/hi 之后再刷新 SkyWalking Web UI,你會(huì)發(fā)現(xiàn) Service 與 Endpoint 已經(jīng)成功檢測(cè)到了
至此铡原,表示 SkyWalking 鏈路追蹤配置成功
SkyWalking Trace 監(jiān)控
SkyWalking 通過(guò)業(yè)務(wù)調(diào)用監(jiān)控進(jìn)行依賴分析偷厦,提供給我們了服務(wù)之間的服務(wù)調(diào)用拓?fù)潢P(guān)系、以及針對(duì)每個(gè) Endpoint 的 Trace 記錄燕刻。
調(diào)用鏈路監(jiān)控
點(diǎn)擊 Trace
菜單只泼,進(jìn)入追蹤頁(yè)
點(diǎn)擊 Trace ID
展開(kāi)詳細(xì)信息
上圖展示了一次正常的響應(yīng),總響應(yīng)時(shí)間為 185ms
共有一個(gè) Span(基本工作單元卵洗,表示一次完整的請(qǐng)求请唱,包含響應(yīng),即請(qǐng)求并響應(yīng))
Span /echo/{message}
說(shuō)明如下:
- Duration:響應(yīng)時(shí)間 185 毫秒
- component:組件類(lèi)型為 SpringMVC
- url:請(qǐng)求地址
- http.method:請(qǐng)求類(lèi)型
服務(wù)性能指標(biāo)監(jiān)控
點(diǎn)擊 Service
菜單过蹂,進(jìn)入服務(wù)性能指標(biāo)監(jiān)控頁(yè)
選擇希望監(jiān)控的服務(wù)
- Avg SLA: 服務(wù)可用性(主要是通過(guò)請(qǐng)求成功與失敗次數(shù)來(lái)計(jì)算)
- CPM: 每分鐘調(diào)用次數(shù)
- Avg Response Time: 平均響應(yīng)時(shí)間
點(diǎn)擊 More Server Details...
還可以查看詳細(xì)信息
上圖中展示了服務(wù)在一定時(shí)間范圍內(nèi)的相關(guān)數(shù)據(jù)十绑,包括:
- 服務(wù)可用性指標(biāo) SLA
- 每分鐘平均響應(yīng)數(shù)
- 平均響應(yīng)時(shí)間
- 服務(wù)進(jìn)程 PID
- 服務(wù)所在物理機(jī)的 IP、Host酷勺、OS
- 運(yùn)行時(shí) CPU 使用率
- 運(yùn)行時(shí)堆內(nèi)存使用率
- 運(yùn)行時(shí)非堆內(nèi)存使用率
- GC 情況