圖文簡介
快速開始
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>
然后,在啟動類 Application.java
添加如下注解:
@SpringBootApplication
@EnablePrometheusEndpoint
@EnableSpringBootMetricsCollector
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
最后,配置默認(rèn)的登錄賬號和密碼向楼,在 application.yml
中:
security:
user:
name: user
password: pwd
提示:不建議配置
management.security.enabled: false
啟動應(yīng)用程序后,會看到如下一系列的 Mappings
利用賬號密碼訪問 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 + 端口號
接著重荠,啟動 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
最后,訪問 http://localhost:9090/targets , 檢查 Spring Boot 采集狀態(tài)是否正常虚茶。
3戈鲁、Grafana 可視化監(jiān)控數(shù)據(jù)
首先仇参,獲取 Grafana 的 Docker 鏡像:
$ docker pull grafana/grafana
然后,啟動 Grafana:
$ docker run --name grafana -d -p 3000:3000 grafana/grafana
接著婆殿,訪問 http://localhost:3000/ 配置 Prometheus 數(shù)據(jù)源:
Grafana 登錄賬號 admin 密碼 admin
最后诈乒,配置單個指標(biāo)的可視化監(jiān)控面板:
提示,此處不能任意填寫婆芦,只能填已有的指標(biāo)點怕磨,具體的可以在 Prometheus 的首頁看到,即 http://localhost:9090/graph
多配置幾個指標(biāo)之后消约,即可有如下效果: