一、图文简介
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/00-1.png?x-oss-process=image/resize,m_fill,h_740,w_1024)
二、快速开始
1、Spring Boot 应用暴露监控指标【版本 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);
}
}
最后,配置默认的登录账号和密码,在 application.yml
中:
security:
user:
name: user
password: pwd
提示:不建议配置
management.security.enabled: false
启动应用程序后,会看到如下一系列的 Mappings
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/02.png?x-oss-process=image/resize,m_fill,h_563,w_1024)
利用账号密码访问&
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/03.png?x-oss-process=image/resize,m_fill,h_552,w_1024)
2、Prometheus 采集 Spring Boot 指标数据
首先,获取 Pr
$ 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 应用的 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 采集状态是否正常。
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/04.png?x-oss-process=image/resize,m_fill,h_203,w_1024)
3、Grafana 可视化监控数据
首先,获取 Grafana 的 Docker 镜像:
$ docker pull grafana/grafana
然后,启动 Grafana:
$ docker run --name grafana -d -p 3000:3000 grafana/grafana
接着,访问 http://localhost:3000/ 配置 Prometheus 数据源:
Grafana 登录账号 admin 密码 admin
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/05.png?x-oss-process=image/resize,m_fill,h_556,w_1024)
最后,配置单个指标的可视化监控面板:
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/06.png?x-oss-process=image/resize,m_fill,h_300,w_1024)
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/07.png?x-oss-process=image/resize,m_fill,h_260,w_1024)
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/08.png?x-oss-process=image/resize,m_fill,h_518,w_1024)
提示,此处不能任意填写,只能填已有的指标点,具体的可以在 Prometheus 的首页看到,即 http://localhost:9090/graph
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/09.png?x-oss-process=image/resize,m_fill,h_516,w_1024)
多配置几个指标之后,即可有如下效果:
![](https://infvie.oss-cn-hongkong.aliyuncs.com/wp-store/2020/03/01.png?x-oss-process=image/resize,m_fill,h_510,w_1024)
参考文献
https://reflectoring.io/monitoring-spring-boot-with-prometheus/
版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作! https://piotrminkowski.com/2020/02/18/spring-boot-admin-on-kubernetes/