SpringBoot-Admin是一个用于管理和监控SpringBoot应用程序的开源项目。它提供了一个易于使用的Web界面,可以实时监控应用程序的健康状况、性能指标、日志和环境配置等信息。通过Actuator模块来收集和暴露应用程序的监控信息,使用Web Socket或者Server-Sent Events实时显示和更新监控面板,提供针对应用程序的管理和操作功能,如启动、关闭、重启等。本文将介绍如何配置和开启SpringBoot的Admin监控服务。
SpringBoot-Admin监控服务需要搭建服务端,服务端作为一个单独的项目发布,我们查看所有受此服务端监控的项目,都是通过访问该服务端的地址。
SpringBoot-Admin的应用墙显示所有连接此服务端的客户端
一、搭建SpringBoot-Admin项目(服务端)
1、创建SpringBoot项目
依赖勾选SpringBoot-Admin(Server)和SpringWeb。
这里我为了防止所有人都可以通过访问服务端端口,查看SBA内容,所以我额外添加了Security的依赖,这里不添加也是可以的,后面pom.xml里可以随时导入。
2、在启动类的前面加上@EnableAdminServer注解
3、设置服务端口
4、启动SBA项目,访问端口测试。
出现Spring Boot Admin控制台界面即为搭建成功。
二、配置需要被监听的项目(客户端)
1、pom.xml 增加 spring-boot-admin-starter-client 相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
2、引入SpringBoot-Admin项目的客户端配置
spring:
#Spring下面添加如下配置
application:
## 注册服务名
name: ProjectSchedule
# springbootAdmin
boot:
admin:
client:
#这里的8088端口就是SBA服务端的地址端口
url: http://127.0.0.1:8088
jackson:
serialization:
indent_output: true
# springbootAdmin配置和Spring平级
management:
endpoints:
jmx:
exposure:
include: '*'
web:
exposure:
include: '*'
exclude: configprops
# 排除对配置信息的监控,每次浏览这个节点的时候,
# 数据库的链接就一直释放不掉, 最后导致超时,因为配置信息的监控也不重要,
#enabled-by-default: true
info:
env:
enabled: true
endpoint:
health:
show-details: always
3、同时启动被监听项目和SBA服务端项目测试
两个项目均正常启动。 访问服务端页面可以看到应用列表里有我们刚刚引入SBA客户端配置的项目。
点击进去看到更详细的内容。