溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

發(fā)布時間:2020-08-01 14:00:37 來源:億速云 閱讀:862 作者:小豬 欄目:編程語言

這篇文章主要講解了Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

1.簡介

最近越發(fā)覺得,任何一個系統(tǒng)上線,運維監(jiān)控都太重要了。本文介紹Prometheus + Grafana的方法監(jiān)控Springboot 2.X,實現(xiàn)美觀漂亮的數(shù)據(jù)可視化。

2.添加監(jiān)控

Spring-boot-actuator module 可幫助您在將應(yīng)用程序投入生產(chǎn)時監(jiān)視和管理應(yīng)用程序。您可以選擇使用 HTTP 端點或 JMX 來管理和監(jiān)控您的應(yīng)用程序。Auditing, health, and metrics gathering 也可以自動應(yīng)用于您的應(yīng)用程序。引入依賴如下:

<!--監(jiān)控報警-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

對于Springboot,要開啟Actuator,并打開對應(yīng)的Endpoint:

#prometheus配置
info:alen:alenmanagement:endpoints:web:base-path:/actuatorexposure:include:"*"

啟動Springboot后,可以通過下面URL看能不能正確獲取到監(jiān)控數(shù)據(jù):localhost/actuator/prometheus 獲取數(shù)據(jù)成功,說明Springboot能正常提供監(jiān)控數(shù)據(jù)。

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

主要的端點

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

3.配置Prometheus

Prometheus 是 Cloud Native Computing Foundation 項目之一,是一個系統(tǒng)和服務(wù)監(jiān)控系統(tǒng)。它按給定的時間間隔從配置的目標(biāo)收集指標(biāo),評估規(guī)則表達(dá)式,顯示結(jié)果,并且如果觀察到某些條件為真,則可觸發(fā)警報。

特性

&#8226; 多維度 數(shù)據(jù)模型(由度量名稱和鍵/值維度集定義的時間序列)
&#8226; 靈活的查詢語言 來利用這種維度
&#8226; 不依賴分布式存儲;單個服務(wù)器節(jié)點是自治的
&#8226; 時間序列采集通過HTTP上的 pull model 發(fā)生
&#8226; 推送時間序列 通過中間網(wǎng)關(guān)得到支持
&#8226; 通過 服務(wù)發(fā)現(xiàn) 或 靜態(tài)配置 來發(fā)現(xiàn)目標(biāo)
&#8226; 多種模式的 圖形和儀表盤支持
&#8226; 支持分級和水平 federation

通過 Prometheus 來抓取數(shù)據(jù) Prometheus 會按照配置的時間周期去 pull 暴露的端點(/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']

重然后再啟動prometheus,訪問prometheus網(wǎng)址,查看targets啟動是否正常如下圖

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

4.Grafana添加監(jiān)控模版

默認(rèn)啟動后Grafana地址為:http://localhost:3000/,登錄用戶名和密碼是admin/admin,import配置grafana id = 4701

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

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

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

5.備注

問題:添加上訪問不了Endpoint?解決方案:原因是項目用的shiro,需要添加過濾

filterChainDefinitionMap.put("/actuator/**","anon");

問題二:

/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Broken pipe

解決方法:導(dǎo)致這個錯誤的原因是 project.artifactId 可能包含了大寫。改成小寫就行

Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法

看完上述內(nèi)容,是不是對Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI