Spring Boot 應(yīng)用可視化監(jiān)控,一目了然!
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

1、Spring Boot 應(yīng)用暴露監(jiān)控指標(biāo)
首先,添加依賴如下依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
采集應(yīng)用的指標(biāo)信息,我們使用的是prometheus,相應(yīng)的我們引入包:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_spring_boot</artifactId>
<version>0.0.26</version>
</dependency>
然后,在啟動(dòng)類 Application.java 添加如下注解:
@SpringBootApplication
@EnablePrometheusEndpoint
@EnableSpringBootMetricsCollector
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
最后,配置默認(rèn)的登錄賬號(hào)和密碼,在 application.yml 中:
security:
user:
name:user
password: pwd
啟動(dòng)應(yīng)用程序后,會(huì)看到如下一系列的 Mappings

利用賬號(hào)密碼訪問 http://localhost:8080/application/prometheus ,可以看到 Prometheus 格式的指標(biāo)數(shù)據(jù):Spring Boot 學(xué)習(xí)筆記,分享給你看下。

2、Prometheus 采集 Spring Boot 指標(biāo)數(shù)據(jù)
首先,獲取 Prometheus 的 Docker 鏡像:
$ docker pull prom/prometheus
然后,編寫配置文件 prometheus.yml :
global:
scrape_interval: 10s
scrape_timeout: 10s
evaluation_interval: 10m
scrape_configs:
- job_name: spring-boot
scrape_interval: 5s
scrape_timeout: 5s
metrics_path: /application/prometheus
scheme: http
basic_auth:
username: admin
password: 123456
static_configs:
- targets:
- 192.168.11.54:8099 #此處填寫 Spring Boot 應(yīng)用的 IP + 端口號(hào)
接著,啟動(dòng) Prometheus :
docker run -d --name prometheus -p 9090:9090
-v D:\test\actuator\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
D:\test\actuator\prometheus\prometheus.yml 是我的配置文件存放地址,我們需要將它放到容器里面去,所以用了-v來做文件映射。
/etc/prometheus/prometheus.yml這個(gè)是容器啟動(dòng)的時(shí)候去取的默認(rèn)配置,這里我是直接覆蓋掉了它。prom/prometheus這是鏡像,如果本地沒有,就回去你設(shè)置好的鏡像倉庫去取。
啟動(dòng)完成后用**docker ps**看下是否已經(jīng)啟動(dòng)成功,之后打開瀏覽器輸入:http://localhost:9090/targets,檢查 Spring Boot 采集狀態(tài)是否正常,如果看到下圖就是成功了。
Spring Boot 基礎(chǔ)就不介紹了,最新的教程和示例源碼看這個(gè):https://github.com/javastacks/spring-boot-best-practice

3、Grafana 可視化監(jiān)控?cái)?shù)據(jù)
首先,獲取 Grafana 的 Docker 鏡像:
$ docker pull grafana/grafana1
然后,啟動(dòng) Grafana:
$ docker run --name grafana -d -p 3000:3000 grafana/grafana1
接著,訪問 http://localhost:3000/ 配置 Prometheus 數(shù)據(jù)源:
Grafana 登錄賬號(hào) admin 密碼 admin
先配置數(shù)據(jù)源.

2.配置單個(gè)指標(biāo)的可視化監(jiān)控面板:



prometh采集的數(shù)據(jù):


版權(quán)聲明:本文為CSDN博主「你照亮了我的世界」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。






關(guān)注Java技術(shù)棧看更多干貨


