1、Spring Boot 应用暴露监控指标【版本 1.5.7.RELEASE】
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
采集应用的指标信息,我们使用的是prometheus,相应的我们引入包:
<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
启动应用程序后,会看到如下一系列的 Mappings

利用账号密码访问 http://localhost:8080/application/prometheus ,可以看到 Prometheus 格式的指标数据

2、Prometheus 采集 Spring Boot 指标数据
$ 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 应用的 IP + 端口号
接着,启动 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这个是容器启动的时候去取的默认配置,这里我是直接覆盖掉了它。prom/prometheus这是镜像,如果本地没有,就回去你设置好的镜像仓库去取。
启动完成后用docker ps看下是否已经启动成功,之后打开浏览器输入:http://localhost:9090/targets,检查 Spring Boot 采集状态是否正常,如果看到下图就是成功了。

3、Grafana 可视化监控数据
$ docker pull grafana/grafana1
然后,启动 Grafana:
$ docker run --name grafana -d -p 3000:3000 grafana/grafana1
接着,访问 http://localhost:3000/ 配置 Prometheus 数据源:
先配置数据源.




prometh采集的数据


本文介绍了如何在SpringBoot应用中集成Prometheus监控,并通过Grafana进行数据可视化。首先,添加SpringBoot Actuator和Prometheus客户端依赖,启用相关端点并配置安全认证。接着,配置Prometheus的Docker容器,设置抓取间隔和目标地址。最后,部署Grafana,配置数据源并创建监控面板,实现对SpringBoot应用的性能指标监控。
518

被折叠的 条评论
为什么被折叠?



