Springboot添加jvm監(jiān)控實(shí)現(xiàn)數(shù)據(jù)可視化
1.簡(jiǎn)介
最近越發(fā)覺得,任何一個(gè)系統(tǒng)上線,運(yùn)維監(jiān)控都太重要了。本文介紹Prometheus + Grafana的方法監(jiān)控Springboot 2.X,實(shí)現(xiàn)美觀漂亮的數(shù)據(jù)可視化。
2.添加監(jiān)控
Spring-boot-actuator module 可幫助您在將應(yīng)用程序投入生產(chǎn)時(shí)監(jiān)視和管理應(yīng)用程序。您可以選擇使用 HTTP 端點(diǎn)或 JMX 來管理和監(jiān)控您的應(yīng)用程序。Auditing, health, and metrics gathering 也可以自動(dòng)應(yīng)用于您的應(yīng)用程序。引入依賴如下:
<!--監(jiān)控報(bào)警--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency>
對(duì)于Springboot,要開啟Actuator,并打開對(duì)應(yīng)的Endpoint:
#prometheus配置 info:alen:alenmanagement:endpoints:web:base-path:/actuatorexposure:include:"*"
啟動(dòng)Springboot后,可以通過下面URL看能不能正確獲取到監(jiān)控?cái)?shù)據(jù):localhost/actuator/prometheus 獲取數(shù)據(jù)成功,說明Springboot能正常提供監(jiān)控?cái)?shù)據(jù)。

主要的端點(diǎn)

3.配置Prometheus
Prometheus 是 Cloud Native Computing Foundation 項(xiàng)目之一,是一個(gè)系統(tǒng)和服務(wù)監(jiān)控系統(tǒng)。它按給定的時(shí)間間隔從配置的目標(biāo)收集指標(biāo),評(píng)估規(guī)則表達(dá)式,顯示結(jié)果,并且如果觀察到某些條件為真,則可觸發(fā)警報(bào)。
特性
• 多維度 數(shù)據(jù)模型(由度量名稱和鍵/值維度集定義的時(shí)間序列)
• 靈活的查詢語言 來利用這種維度
• 不依賴分布式存儲(chǔ);單個(gè)服務(wù)器節(jié)點(diǎn)是自治的
• 時(shí)間序列采集通過HTTP上的 pull model 發(fā)生
• 推送時(shí)間序列 通過中間網(wǎng)關(guān)得到支持
• 通過 服務(wù)發(fā)現(xiàn) 或 靜態(tài)配置 來發(fā)現(xiàn)目標(biāo)
• 多種模式的 圖形和儀表盤支持
• 支持分級(jí)和水平 federation
通過 Prometheus 來抓取數(shù)據(jù) Prometheus 會(huì)按照配置的時(shí)間周期去 pull 暴露的端點(diǎn)(/actuator/prometheus)中的指標(biāo)數(shù)據(jù) prometheus.yml 配置
- job_name: 'actuator-ruoyi' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. metrics_path: '/actuator/prometheus' static_configs: - targets: ['10.42.95.4']
重然后再啟動(dòng)prometheus,訪問prometheus網(wǎng)址,查看targets啟動(dòng)是否正常如下圖

4.Grafana添加監(jiān)控模版
默認(rèn)啟動(dòng)后Grafana地址為:http://localhost:3000/,登錄用戶名和密碼是admin/admin,import配置grafana id = 4701

最終的效果是這樣子的,如下圖

5.備注
問題:添加上訪問不了Endpoint?解決方案:原因是項(xiàng)目用的shiro,需要添加過濾
filterChainDefinitionMap.put("/actuator/**","anon");
問題二:
/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Broken pipe
解決方法:導(dǎo)致這個(gè)錯(cuò)誤的原因是 project.artifactId 可能包含了大寫。改成小寫就行

到此這篇關(guān)于Springboot添加jvm監(jiān)控實(shí)現(xiàn)數(shù)據(jù)可視化的文章就介紹到這了,更多相關(guān)Springboot jvm監(jiān)控?cái)?shù)據(jù)可視化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用SpringBoot+Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控
- Spring?Boot?Admin?監(jiān)控指標(biāo)接入Grafana可視化的實(shí)例詳解
- vue+flv.js+SpringBoot+websocket實(shí)現(xiàn)視頻監(jiān)控與回放功能
- SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控
- springboot Actuator的指標(biāo)監(jiān)控可視化功能詳解
- SpringBoot可視化監(jiān)控的具體應(yīng)用
- SpringBoot監(jiān)視器的具體使用
相關(guān)文章
Java開發(fā)HashMap?key必須實(shí)現(xiàn)hashCode?equals方法原理
這篇文章主要為大家介紹了Java開發(fā)HashMap?key必須實(shí)現(xiàn)hashCode?equals方法原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
基于java中的null類型---有關(guān)null的9件事
這篇文章主要介紹了java中的null類型---有關(guān)null的9件事,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java動(dòng)態(tài)代理和AOP應(yīng)用示例
這篇文章主要介紹了Java動(dòng)態(tài)代理和AOP應(yīng)用,結(jié)合實(shí)例形式分析了java動(dòng)態(tài)代理在AOP面向切面編程中的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-07-07
Springboot SseEmitter流式輸出的實(shí)現(xiàn)代碼
本文介紹了Spring Boot中使用SseEmitter實(shí)現(xiàn)流式輸出的原理和示例代碼,通過SseEmitter,可以實(shí)現(xiàn)客戶端和服務(wù)器之間的實(shí)時(shí)通信,服務(wù)器可以分塊發(fā)送數(shù)據(jù),而客戶端可以實(shí)時(shí)接收和處理這些數(shù)據(jù),,感興趣的朋友一起看看吧2025-03-03
Java工具jsch.jar實(shí)現(xiàn)上傳下載
這篇文章主要為大家詳細(xì)介紹了Java操作ftp的一款工具,利用jsch.jar針對(duì)sftp的上傳下載工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
深入理解JVM之Class類文件結(jié)構(gòu)詳解
這篇文章主要介紹了深入理解JVM之Class類文件結(jié)構(gòu),結(jié)合實(shí)例形式詳細(xì)分析了Class類文件結(jié)構(gòu)相關(guān)概念、原理、結(jié)構(gòu)、常用方法與屬性,需要的朋友可以參考下2019-09-09
idea熱部署且開啟自動(dòng)編譯的實(shí)現(xiàn)方法
這篇文章主要介紹了idea熱部署且開啟自動(dòng)編譯的實(shí)現(xiàn)方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12

