Spring Boot 应用可视化监控,一目了然!

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Spring Boot 应用可视化监控,一目了然!

image.png

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

image.png

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

image.png

2、Prometheus 采集 Spring Boot 指标数据

首先,获取 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 应用的 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 采集状态是否正常,如果看到下图就是成功了。

image.png

3、Grafana 可视化监控数据

首先,获取 Grafana 的 Docker 镜像:

$ docker pull grafana/grafana1

然后,启动 Grafana:

$ docker run --name grafana -d -p 3000:3000 grafana/grafana1

接着,访问 http://localhost:3000/ 配置 Prometheus 数据源:

Grafana 登录账号 admin 密码 admin

  1. 先配置数据源.

image.png

2.配置单个指标的可视化监控面板:

image.png

image.png

image.png

prometh采集的数据

image.png

image.png

目录
相关文章
|
20天前
|
XML Java 数据格式
Spring 应用上下文探秘:生命周期解析与最佳实践
Spring 应用上下文探秘:生命周期解析与最佳实践
47 0
|
20天前
|
存储 Java Maven
QR码应用实战:Spring Boot与ZXing完美结合
QR码应用实战:Spring Boot与ZXing完美结合
15 0
|
1月前
|
XML Java 数据格式
聊聊Spring事件及其应用
在 JDK 中已经提供相应的自定义事件发布功能的基础类: - `java.util.EventObject`类 :自定义**事件**类型 - `java.util.EventListener`接口:事件的**监听器**
23 1
聊聊Spring事件及其应用
|
20天前
|
消息中间件 存储 监控
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
20 1
|
20天前
|
消息中间件 NoSQL Java
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
41 1
|
20天前
|
缓存 Java 数据库
优化您的Spring应用程序:缓存注解的精要指南
优化您的Spring应用程序:缓存注解的精要指南
25 0
|
2天前
|
Java Maven 开发者
深入剖析Spring Boot在Java Web开发中的优势与应用
深入剖析Spring Boot在Java Web开发中的优势与应用
|
20天前
|
安全 前端开发 Java
保护你的应用:Spring Boot与JWT的黄金组合
保护你的应用:Spring Boot与JWT的黄金组合
44 0
|
20天前
|
XML 前端开发 Java
优化你的Spring Boot应用:预加载的秘密
优化你的Spring Boot应用:预加载的秘密
17 0
|
20天前
|
XML Java 数据格式
从零开始构建Spring Boot应用:逐步解析@SpringBootApplication
从零开始构建Spring Boot应用:逐步解析@SpringBootApplication
22 0

相关产品

  • 云迁移中心