Spring Boot 應(yīng)用可視化監(jiān)控
圖文簡(jiǎn)介
快速開始
1、Spring Boot 應(yīng)用暴露監(jiān)控指標(biāo)【版本 1.5.7.RELEASE】
首先,添加依賴如下依賴:
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
- <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
提示:不建議配置 management.security.enabled:false啟動(dòng)應(yīng)用程序后,會(huì)看到如下一系列的 Mappings
利用賬號(hào)密碼訪問(wèn) http://localhost:8080/application/prometheus ,可以看到 Prometheus 格式的指標(biāo)數(shù)據(jù)
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: user
- password: pwd
- static_configs:
- - targets:
- - 127.0.0.1:8080 #此處填寫 Spring Boot 應(yīng)用的 IP + 端口號(hào)
接著,啟動(dòng) Prometheus :
- $ docker run -d \
- --name prometheus \
- -p 9090:9090 \
- -m 500M \
- -v "$(pwd)/prometheus.yml":/prometheus.yml \
- -v "$(pwd)/data":/data \
- prom/prometheus \
- -config.file=/prometheus.yml \
- -log.level=info
***,訪問(wèn) http://localhost:9090/targets , 檢查 Spring Boot 采集狀態(tài)是否正常。
3、Grafana 可視化監(jiān)控?cái)?shù)據(jù)
首先,獲取 Grafana 的 Docker 鏡像:
- $ docker pull grafana/grafana
然后,啟動(dòng) Grafana:
- $ docker run --name grafana -d -p 3000:3000 grafana/grafana
接著,訪問(wèn) http://localhost:3000/ 配置 Prometheus 數(shù)據(jù)源:
Grafana 登錄賬號(hào) admin 密碼 admin
***,配置單個(gè)指標(biāo)的可視化監(jiān)控面板:
提示,此處不能任意填寫,只能填已有的指標(biāo)點(diǎn),具體的可以在 Prometheus 的首頁(yè)看到,即 http://localhost:9090/graph
多配置幾個(gè)指標(biāo)之后,即可有如下效果:
參考文檔
- prometheus 官方文檔
- Grafana Docker 安裝
- Spring Boot 官方文檔
【本文為51CTO專欄作者“李強(qiáng)強(qiáng)”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)51CTO聯(lián)系作者獲取授權(quán)】