一、SpringBootAdmin 简介
1.1 概述
SpringBootAdmin 是一个非常好用的监控和管理的开源组件,该组件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。
1.2 功能特性
- 显示应用程序的监控状态
- 应用程序上下线监控
- 查看 JVM,线程信息
- 可视化的查看日志以及下载日志文件
- 动态切换日志级别
- Http 请求信息跟踪
- …
二、Server端整合
2.1 添加pom配置
<!--Admin+Actuator 健康信息健康-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
2.2 配置yaml参数
# Boot参数配置信息
spring:application:name: xs-monitor-serverprofiles:active: devboot:admin:monitor:default-timeout: 5000client:url: http://localhost:${server.port}${spring.boot.admin.context-path}#注册实例 优先使用IPinstance:prefer-ip: true# 监控访问前缀信息context-path: /admin# Actuator 监控端点的配置项
management:health:mail:enabled: falseendpoints:web:base-path: /actuatorexposure:include: '*'endpoint:health:show-details: alwayslogfile:external-file: ${user.dir}/logs/${spring.profiles.active}/xs-monitor/xs-monitor-server/sys-console.log
2.3 编辑config配置信息
package com.xs.monitor.config;import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
import org.springframework.boot.task.TaskExecutorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor;// @EnableAdminServer 添加此注解表示启用Admin监控
@Configuration
@EnableAdminServer
public class AdminServerConfig {@Lazy@Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)@ConditionalOnMissingBean(Executor.class)public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) {return builder.build();}}
三、Client业务端整合
3.1 添加pom配置
业务端只需要client组件,不再需要Server端
<!--Spring Boot Admin 健康模块-->
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
3.2 配置yaml参数
#配置
spring:application:name: xs-monitor-clientprofiles:active: devboot:admin:client:url: http://localhost:1000/admin#注册实例 优先使用IPinstance:prefer-ip: true# Actuator 监控端点的配置项
management:health:mail:enabled: falseendpoints:web:base-path: /actuatorexposure:include: '*'endpoint:health:show-details: alwayslogfile:external-file: ${user.dir}/logs/${spring.profiles.active}/xs-monitor/xs-monitor-client/sys-console.log
3.3 新增Config配置
package com.xs.monitor.config;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
import org.springframework.boot.task.TaskExecutorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor;@Configuration
public class AdminServerConfig {@Lazy@Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)@ConditionalOnMissingBean(Executor.class)public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) {return builder.build();}}
效果图:
参考文章:https://blog.csdn.net/weixin_44187730/article/details/129929861