spring-boot-admin 是一个针对 Spring Boot 的 Actuator 接口进行 UI 美化封装的监控工具,它可以在列表中浏览所有被监控 spring-boot 项目的基本信息、详细的 Health 信息、内存信息、JVM 信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等
应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册,使用SpringCloud注册中心(例如Nacos)。
新建服务端
1.新建工程
创建Spring Boot Admin Server
加入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.2.0</version> </dependency> <!-- Nacos discovery 服务发现 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
2.启动类加入注解
@EnableAdminServer @SpringBootApplication(scanBasePackages = "com.vanew.trade") @EnableDiscoveryClient public class SpringbootAdminApplication { public static void main(String[] args) { SpringApplication.run(SpringbootAdminApplication.class, args); } }
3.在yml文件中配置nacos地址,开启actuator全部端点
spring: application: name: springboot-admin cloud: nacos: discovery: server-addr: 127.0.0.1:8848 boot: admin: ui: title: 服务状态监控 #开启全部 management: endpoints: web: exposure: include: "*" endpoint: health: show-details: ALWAYS server: port: 8088
新建客户端
1.新建工程
创建Spring Boot Admin Client
加入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Nacos discovery 服务发现 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.2.0</version> </dependency>
2.启动类加入注解
@SpringBootApplication @EnableDiscoveryClient public class AdminClientApplication { public static void main(String[] args) { SpringApplication.run(AdminClientApplication.class, args); } }
3.在yml文件中配置nacos地址,开启actuator全部端点
spring: application: name: admin-client cloud: nacos: discovery: server-addr: 127.0.0.1:8848 server: port: 8004 #开启全部 management: endpoints: web: exposure: include: "*" endpoint: health: show-details: ALWAYS