目錄
1.概述
2.spring actuator
3.Prometheus
3.1.介紹
3.2.使用
1.client端的配置
2.server端的配置
4.grafana
5.留個尾巴
1.概述
本文是博主JAVA監控技術系列的第四篇,前面已經聊過了JMX、Spring actuator等技術,本文我們就將依托于Spring actuator+監控組件prometheus+數據可視化組件grafana來實現對Spring Boot應用的可視化監控。
關于Spring actuator的相關內容,可移步:
Spring Boot 監控_springboot 監控-CSDN博客
【監控】spring actuator源碼速讀-CSDN博客
2.spring actuator
Spring actuator是spring體系中自帶的監控組件,用來監測應用本身以及所處環境等內容。前文已經詳細介紹過了,自處就不再重復和展開了。
依賴:
<dependency>
? ? <groupId>org.springframework.boot</groupId>
? ? <artifactId>spring-boot-starter-actuator</artifactId>? ? <version></version>
</dependency>
配置:
management:
? endpoints:
? ? web:
? ? ? exposure:
? ? ? ? include: "*"
看一下效果:
以上這些指標都是actuator自帶的,要適配Prometheus的數據采集格式的話需要引入promethus的適配層。ok,接下來我們講一下Prometheus。
3.Prometheus
3.1.介紹
先看看整個prometheus的架構:
看起來很復雜對吧?其實并不復雜,最核心的就是Prometheus Server,其內置一個時序數據庫,用來存采集上來的監控指標。然后就是Prometheus提供了很多client端,放在應用側采集監控指標然后pull metrics(推送采集到的監控指標)個Prometheus Server。然后就是支持對接多種圖形化界面如grafana來進行圖形化的展示。最后就是支持各種方式的告警,如發送email等。
3.2.使用
1.client端的配置
即應用內的配置。
依賴:
<!--prometheus --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><scope>runtime</scope></dependency>
配置:
management:endpoints:web:exposure:include: "*"endpoint:prometheus:enabled: truehealth:show-details: always
可以看到promethus的監控指標已經出來了:
在主啟動類里面,將應用的名字告訴Prometheus:
@SpringBootApplication
public class Main {public static void main(String[] args) {SpringApplication.run(Main.class);}
?@BeanMeterRegistryCustomizer<MeterRegistry> configure(@Value("${spring.application.name}") String applicationName){return register -> {register.config().commonTags("application", applicationName);};}
}
配置一下應用名:
spring:application:name: myApplicationDemo
2.server端的配置
先下載Prometheus,然后解壓:
Download | Prometheus
配置Prometheus的prometheus.yml配置文件:
上面標紅的要和應用對齊,否則會出現:
./prometheus啟動Prometheus:
可以看到:
4.grafana
Grafana 是一個流行的開源數據可視化和監控工具,它提供了豐富的圖表和儀表盤功能,用于展示和分析時間序列數據以及其他類型的數據。
官網下載地址:
Download Grafana | Grafana Labs
Linux的下載方式,官網上寫的很清楚:
下載后解壓即可使用。
./grafana-server啟動應用,默認訪問地址是IP:3000,默認賬號密碼都是admin。首次登錄會要求修改密碼。
登陸后,新建一個promethus的連接,配置好自己的promethus的地址和端口號保存即可:
在配置數據源的同時,可以選擇grafana為我們準備的幾套Prometheus的監控面板來使用:
我們選擇其中一個,可以看到我們自己的應用了:
5.留個尾巴
ok,到這里聊完了嗎?當然沒有!
首先是如何自定義Prometheus的監控指標?其次grafana作為一款強大的數據可視化組件,功能當然很豐富,本文先講解如何使用spring actuator+Prometheus+grafana實現基礎的可視化監控,下文會詳細介紹Prometheus和grafana的使用。