Spring?Boot?Admin?監(jiān)控指標(biāo)接入Grafana可視化的實例詳解
Spring Boot Admin2 自帶有部分監(jiān)控圖表,如圖,有線程、內(nèi)存Heap和內(nèi)存Non Heap,但也就只有這幾個監(jiān)控圖表,數(shù)量很少,并且它只能看到當(dāng)時的監(jiān)控數(shù)據(jù),并不能查看歷史數(shù)據(jù),為了改變這種情況,我們需要將指標(biāo)進行持久化,并使用更強大的可視化工具,這個工具就是Grafana。

在前面我們知道SBA2具備的監(jiān)控指標(biāo)還是挺多的,訪問/actuator 即可知道,如下圖

現(xiàn)在在這篇文章,我們要做的就是將這些指標(biāo)進行持久化,并在Grafana展示更多的圖標(biāo),讓我們開始。
首先我們需要再Spring Boot中集成持久化數(shù)據(jù)庫,我這里使用了Prometheus,也可以使用InfluxDB。
引入Maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--橋接prometheus-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>application.properties 配置
由于之前我們已經(jīng)接入過SBA2,所以我們已經(jīng)配置過需要暴露的端點,無需再次配置。
management.endpoints.web.exposure.include=* management.endpoint.health.show-details=always
生產(chǎn)環(huán)境,需要配置Spring Security,我這里并未配置。
接入Prometheus
安裝prometheus,為了能夠快速體驗,這邊使用Docker安裝,并將本地配置文件映射到Docker中
docker run -p 9090:9090 -v D:\sdk\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml -v D:\sdk\prometheus\alert_rules.yml:/etc/prometheus/alert_rules.yml prom/prometheus
alert_rules.yml 是 Prometheus 告警規(guī)則的配置,這個后面其他文章再講
配置prometheus.yml
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
#- job_name: 'prometheus-demo'
# scrape_interval: 5s
# static_configs:
# - targets: ['192.168.0.115:8088']
- job_name: 'provider'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['192.168.0.115:8000'] metrics_path:指標(biāo)地址,原有的Spring Boot 指標(biāo)將自動轉(zhuǎn)換為prometheus指標(biāo)
scrape_interval:指標(biāo)拉取間隔,這里配置5s
192.168.0.115:8000: 為本地服務(wù)的地址+端口
配置完畢,重啟Prometheus,訪問地址,可見兩個服務(wù)都已經(jīng)是UP狀態(tài)

訪問http://192.168.0.115:8000/actuator/prometheus地址,就是我們剛配置的服務(wù)指標(biāo)

接入Grafana
同樣的,為了快速體驗,我們使用Docker來安裝Grafana
docker run -p 3000:3000 grafana/grafana
安裝完畢,訪問http://localhost:3000 進入主界面,默認賬號密碼:admin/admin
接入第一步,配置數(shù)據(jù)源


選擇Prometheus,URL選擇Prometheus端口地址,我這邊已經(jīng)將端口暴露出來,其他默認

設(shè)置完畢,下一步創(chuàng)建一個大屏,這里以創(chuàng)建JVM監(jiān)控大屏為例。
由于Grafana會提供一些大屏指標(biāo)模板,我們只需要導(dǎo)入即可,或者進行適當(dāng)?shù)男薷模?code>https://grafana.com/grafana/dashboards

搜索結(jié)果第一個即為我們需要的模板,進入詳情頁,copy模板ID,到Grafana進行導(dǎo)入

選擇剛配置的Prometheus數(shù)據(jù)源,設(shè)置名稱和文件夾,導(dǎo)入后即可生成JVM大屏

最終的JVM大屏效果如圖,這里截圖頭部部分指標(biāo)

包含的所有指標(biāo)

每個指標(biāo)的具體含義,可以自行去了解,本篇文章我們以JVM為例,將Spring Boot2 的JVM 指標(biāo)接入到Grafana進行可視化,在前面我們通過actuator端點實際暴露是有很多端點的,后面將介紹如何自定義大屏接入上述指標(biāo)。
到此這篇關(guān)于Spring Boot Admin 監(jiān)控指標(biāo)接入Grafana可視化的文章就介紹到這了,更多相關(guān)Spring Boot Admin監(jiān)控內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Kotlin中?StateFlow?或?SharedFlow?的區(qū)別解析
Kotlin協(xié)程中的StateFlow和SharedFlow是響應(yīng)式數(shù)據(jù)流,分別用于UI狀態(tài)管理和事件通知,StateFlow有初始值,只保留最新值,適用于UI狀態(tài)管理;SharedFlow沒有初始值,可以配置緩存大小,適用于事件通知,感興趣的朋友一起看看吧2025-03-03
Springboot整合spring-boot-starter-data-elasticsearch的過程
本文詳細介紹了Springboot整合spring-boot-starter-data-elasticsearch的過程,包括版本要求、依賴添加、實體類添加、索引的名稱、分片、副本設(shè)置等,同時,還介紹了如何使用ElasticsearchRepository類進行增刪改查操作2024-10-10
SpringBoot中使用@Async實現(xiàn)異步任務(wù)調(diào)用詳解
這篇文章主要介紹了SpringBoot中使用@Async實現(xiàn)異步任務(wù)調(diào)用詳解,一個可以無需等待被調(diào)用函數(shù)的返回值就讓操作繼續(xù)進行的方法(來自百度百科),即程序在順序執(zhí)行時,不等待異步調(diào)用的語句返回結(jié)果就執(zhí)行后面的程序,需要的朋友可以參考下2023-12-12
記一次springboot配置redis項目啟動時的一個奇怪的錯誤
這篇文章主要介紹了spring?boot配置redis項目啟動時的一個奇怪的錯誤,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
feign的ribbon超時配置和hystrix的超時配置說明
這篇文章主要介紹了feign的ribbon超時配置和hystrix的超時配置說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
SpringBoot項目中Controller接收兩個實體的實現(xiàn)方法
本文主要介紹了SpringBoot項目中Controller接收兩個實體的實現(xiàn)方法,主要介紹了兩種方法,具有一定的參考價值,感興趣的可以了解一下2023-08-08
springboot 集成redis哨兵主從的實現(xiàn)
本文主要介紹了springboot 集成redis哨兵主從的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

