搭建Spring Boot Admin监控系统

什么是Spring Boot Admin

Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个用户友好的 Web 界面,用于集中管理和监控多个 Spring Boot 应用程序的运行状态、健康状况、日志、配置等信息。

Spring Boot Admin 的核心功能

  1. 应用监控

    • 实时监控 Spring Boot 应用程序的健康状态(UPDOWN 等)。

    • 显示应用程序的详细信息,如内存使用、线程状态、垃圾回收等。

  2. 日志管理

    • 查看应用程序的日志文件。

    • 支持动态调整日志级别(如 DEBUGINFOWARNERROR)。

  3. 配置管理

    • 查看应用程序的配置信息(如 application.properties 或 application.yml)。

    • 支持动态修改配置(需结合 Spring Cloud Config 或 Spring Cloud Bus)。

  4. 性能监控

    • 监控应用程序的性能指标,如请求速率、响应时间、错误率等。

    • 支持集成 Micrometer 和 Prometheus。

  5. 通知功能

    • 支持通过邮件、Slack、PagerDuty 等渠道发送告警通知。

    • 当应用程序状态发生变化(如从 UP 变为 DOWN)时,自动发送通知。

  6. 集中管理

    • 支持同时监控多个 Spring Boot 应用程序。

    • 提供统一的 Web 界面,方便集中管理。

原理:客户端向服务端推送状态消息,如下图所示:

官方文档:

Spring Boot Admin Reference Guide

服务器端

新建sprint boot项目

第一步

增加依赖spring-boot-admin-starter-server

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>3.0.4</version>
        </dependency>

注意版本号,一定要跟sprint boot的版本保持一致,如果spring boot是2.X,那就要找对应2.X的version,当前我用的是spring boot3,所以这里的version为3.0.4。

第二步

在@Configuration类或者主类上增加@EnableAdminServer启动服务器

第三步

在application.properties设置端口

server.port=9000

以上配置完成后,访问http://localhost:9000/,就可以看到如下界面。

 

客户端

新建sprint boot项目

第一步

在Spring Boot应用上增加spring-boot-admin-starter-client依赖

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>3.0.4</version>
        </dependency>

 version与服务器端保持一致。

第二步

开启指标监控就,并接入admin-server

server.port=9001
spring.boot.admin.client.url=http://localhost:9000

management.endpoints.web.exposure.include=*

9001是客户端的端口号

http://localhost:9000/是服务器端的地址

management.endpoints.web.exposure.include=* 表示显示完整的监控信息

第三步

刷新页面,就可以看到新增的实例

第四步

如果想看到数据库信息,可以增加对应的配置

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.2.0</version> <!-- 使用最新版本 -->
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>3.2.0</version>
        </dependency>

# 启用 health 端点的详细信息
management.endpoint.health.show-details=always
# 暴露数据库连接信息
management.endpoint.health.show-components=always


spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/novel?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=123456

novel是数据库名称

就可以在细节中,看到db的信息。

 

参考文章:

指标监控神器SpringBootAdmin保姆级教程_spring-boot-admin-starter-server-CSDN博客

要获取spring-boot-admin-starter-client自定义的属性,可以按照以下步骤进行操作: 1. 首先,确保你的项目中已经添加了spring-boot-admin-starter-client包,并成功进行了打包。 2. 在项目的配置文件(比如application.properties或application.yml)中,可以使用以下格式设置spring-boot-admin-starter-client的自定义属性: ``` spring.boot.admin.client.custom-property=value ``` 其中,custom-property是你自定义的属性名,value是对应的属性值。 3. 可以通过在spring-boot-admin-starter-server项目的代码中使用@ConfigurationProperties注解来获取spring-boot-admin-starter-client的自定义属性。例如: ```java @ConfigurationProperties(prefix = "spring.boot.admin.client") public class MyConfiguration { private String customProperty; // getter and setter // other configurations } ``` 在这个配置类中,使用prefix属性指定了属性的前缀为"spring.boot.admin.client",这样就能获取到spring-boot-admin-starter-client的自定义属性。 4. 运行spring-boot-admin-starter-server项目时,就可以通过MyConfiguration类获取spring-boot-admin-starter-client的自定义属性了。 综上所述,你可以通过在项目的配置文件中设置属性,并使用@ConfigurationProperties注解获取这些自定义属性来获取spring-boot-admin-starter-client的自定义属性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [spring-boot-admin-client-2.6.2-API文档-中文版.zip](https://download.csdn.net/download/qq_36462452/85294581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [spring-boot-admin-starter-client与spring-boot版本不匹配的坑](https://blog.csdn.net/mahui_1980/article/details/117528352)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值