使用SpringBoot+Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控
1.概述
本文是博主JAVA監(jiān)控技術(shù)系列的第四篇,前面已經(jīng)聊過了JMX、Spring actuator等技術(shù),本文我們就將依托于Spring actuator+監(jiān)控組件prometheus+數(shù)據(jù)可視化組件grafana來實(shí)現(xiàn)對(duì)Spring Boot應(yīng)用的可視化監(jiān)控。
2.spring actuator
Spring actuator是spring體系中自帶的監(jiān)控組件,用來監(jiān)測(cè)應(yīng)用本身以及所處環(huán)境等內(nèi)容。前文已經(jīng)詳細(xì)介紹過了,自處就不再重復(fù)和展開了。
依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version></version>
</dependency>配置:
management:
endpoints:
web:
exposure:
include: "*"看一下效果:

以上這些指標(biāo)都是actuator自帶的,要適配Prometheus的數(shù)據(jù)采集格式的話需要引入promethus的適配層。ok,接下來我們講一下Prometheus。
3.Prometheus
3.1.介紹
先看看整個(gè)prometheus的架構(gòu):

看起來很復(fù)雜對(duì)吧?其實(shí)并不復(fù)雜,最核心的就是Prometheus Server,其內(nèi)置一個(gè)時(shí)序數(shù)據(jù)庫,用來存采集上來的監(jiān)控指標(biāo)。然后就是Prometheus提供了很多client端,放在應(yīng)用側(cè)采集監(jiān)控指標(biāo)然后pull metrics(推送采集到的監(jiān)控指標(biāo))個(gè)Prometheus Server。然后就是支持對(duì)接多種圖形化界面如grafana來進(jìn)行圖形化的展示。最后就是支持各種方式的告警,如發(fā)送email等。
3.2.使用
1.client端的配置
即應(yīng)用內(nèi)的配置。
依賴:
<!--prometheus -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<scope>runtime</scope>
</dependency>
配置:
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
prometheus:
enabled: true
health:
show-details: always可以看到promethus的監(jiān)控指標(biāo)已經(jīng)出來了:

在主啟動(dòng)類里面,將應(yīng)用的名字告訴Prometheus:
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class);
}
?
@Bean
MeterRegistryCustomizer<MeterRegistry> configure(@Value("${spring.application.name}") String applicationName){
return register -> {
register.config().commonTags("application", applicationName);
};
}
}配置一下應(yīng)用名:
spring:
application:
name: myApplicationDemo2.server端的配置
先下載Prometheus,然后解壓:
配置Prometheus的prometheus.yml配置文件:

上面標(biāo)紅的要和應(yīng)用對(duì)齊,否則會(huì)出現(xiàn):

./prometheus啟動(dòng)Prometheus:
可以看到:

4.grafana
Grafana 是一個(gè)流行的開源數(shù)據(jù)可視化和監(jiān)控工具,它提供了豐富的圖表和儀表盤功能,用于展示和分析時(shí)間序列數(shù)據(jù)以及其他類型的數(shù)據(jù)。
官網(wǎng)下載地址:
Download Grafana | Grafana Labs
Linux的下載方式,官網(wǎng)上寫的很清楚:

下載后解壓即可使用。
./grafana-server啟動(dòng)應(yīng)用,默認(rèn)訪問地址是IP:3000,默認(rèn)賬號(hào)密碼都是admin。首次登錄會(huì)要求修改密碼。
登陸后,新建一個(gè)promethus的連接,配置好自己的promethus的地址和端口號(hào)保存即可:


在配置數(shù)據(jù)源的同時(shí),可以選擇grafana為我們準(zhǔn)備的幾套Prometheus的監(jiān)控面板來使用:

我們選擇其中一個(gè),可以看到我們自己的應(yīng)用了:

5.最后
以上就是使用SpringBoot+Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot可視化監(jiān)控的資料請(qǐng)關(guān)注腳本之家其它相關(guā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添加jvm監(jiān)控實(shí)現(xiàn)數(shù)據(jù)可視化
- SpringBoot監(jiān)視器的具體使用
相關(guān)文章
Java并發(fā)容器相關(guān)知識(shí)總結(jié)
今天給大家?guī)淼奈恼率荍ava并發(fā)容器的相關(guān)知識(shí),文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)Java并發(fā)容器的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06
java實(shí)現(xiàn)后臺(tái)返回base64圖形編碼
這篇文章主要介紹了java實(shí)現(xiàn)后臺(tái)返回base64圖形編碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
SpringBoot創(chuàng)建線程池的六種方式小結(jié)
本文主要介紹了SpringBoot創(chuàng)建線程池的六種方式小結(jié),包括自定義線程池,固定長(zhǎng)度線程池,單一線程池,共享線程池,定時(shí)線程池,SpringBoot中注入異步線程池,感興趣的可以了解一下2023-11-11
Java多線程案例實(shí)戰(zhàn)之定時(shí)器的實(shí)現(xiàn)
在Java中可以使用多線程和定時(shí)器來實(shí)現(xiàn)定時(shí)任務(wù),下面這篇文章主要給大家介紹了關(guān)于Java多線程案例之定時(shí)器實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
JDK8中String的intern()方法實(shí)例詳細(xì)解讀
String字符串在我們?nèi)粘i_發(fā)中最常用的,當(dāng)然還有他的兩個(gè)兄弟StringBuilder和StringBuilder,接下來通過本文給大家介紹JDK8中String的intern()方法詳細(xì)解讀,需要的朋友可以參考下2022-09-09
EasyExcel自定義下拉注解的三種實(shí)現(xiàn)方式總結(jié)
使用EasyExcel設(shè)置下拉數(shù)據(jù)時(shí),每次都要?jiǎng)?chuàng)建一個(gè)SheetWriteHandler組件確實(shí)比較繁瑣,為了優(yōu)化這個(gè)過程,我們可以通過自定義注解來簡(jiǎn)化操作,下面就來看看具體實(shí)現(xiàn)方法吧2024-10-10
Java?如何用二維數(shù)組創(chuàng)建空心菱形
這篇文章主要介紹了Java?如何用二維數(shù)組創(chuàng)建空心菱形,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Spring Boot實(shí)現(xiàn)對(duì)文件進(jìn)行壓縮下載功能
在Web應(yīng)用中,文件下載功能是一個(gè)常見的需求,特別是當(dāng)你需要提供用戶下載各種類型的文件時(shí),本文將演示如何使用Spring Boot框架來實(shí)現(xiàn)一個(gè)簡(jiǎn)單而強(qiáng)大的文件下載功能,需要的朋友跟隨小編一起學(xué)習(xí)吧2023-09-09

