1. 简介
Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然后就可以实现对 Spring Boot 项目的可视化管理和查看了。
Spring Boot Admin 可以监控 Spring Boot 单机或集群项目,它提供详细的健康 (Health)信息、内存信息、JVM 系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、Spring Boot 缓存查看和管理等功能。
2. 快速上手
2.1 引入依赖
1、新建 SpringBoot 项目,名称为 sba-server。
2、引入相关依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
<!-- 尽量和springboot版本匹配 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.2.4</version>
</dependency>
2.2 开启SBA服务
1、启动类上添加注解 @EnableAdminServer
。
@EnableAdminServer // 添加此行代码
@SpringBootApplication
public class SBAApplication {
public static void main(String[] args) {
SpringApplication.run(SBAApplication.class, args);
}
}
2、修改 SBA 端口号。
# 配置SBA端口号
server:
port: 9001
2.3 其他服务配置
1、在想要监控的服务中引入依赖。
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.2.4</version>
</dependency>
2、在配置文件中指定 sba 的地址。
spring:
application:
name: client-authcode
boot:
admin:
client:
url:
- http://localhost:9001
3、启动服务后就可以从 http://localhost:9001 监控我们的服务了。
3. 监控扩展
1、在被监控的 SpringBoot 项目中引入 actuator 依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2、开启下列配置。
# 开启监控所有项
management:
endpoint:
health:
enabled: true
endpoints:
web:
exposure:
include: '*'
4. 项目实时日志
想要查看监控项目中的日志信息,有一个前提条件,前提条件是你被监控的 Spring Boot 项目,必须配置了日志的保存路径或者日志保存文件名,只有配置这两项中的任意一项,你的 Spring Boot 项目才会将日志保存到磁盘上,这样才能通过 SBA 查看到,我配置的是日志路径,在 Spring Boot 的 application.properties 配置文件中添加以下配置:
# 设置日志保存路径
logging:
file:
path: D:\\log
设置完成之后,重启你的 Spring Boot 项目,然后刷新 SBA 页面,最终展示效果如下: