Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。 UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。
简而言之:
SpringBoot Admin 在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI,是用来管理 SpringBoot 应用程序的一个简单的界面。分为客户端和服务端,服务端会通过访问客户端提供的Actuator Endpoint来采集信息。 提供如下功能:
显示 name/id 和版本号 显示在线状态 Logging 日志级别管理 JMX beans 管理 Threads 会话和线程管理 Trace 应用请求跟踪 应用运行参数信息,如:Java 系统属性、Java 环境变量属性、内存信息、Spring 环境属性。
1、搭建 Spring Boot Admin Server
搭建服务端:bank-springboot-base-actuator-admin-server
添加依赖pom.xml
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
复制代码
如果要使用jmx的话,需要添加jar包
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
复制代码
应用主类添加注解
@SpringBootApplication
@EnableAdminServer
public class ActuatorAdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(ActuatorAdminServerApplication.class, args);
}
}
复制代码
启动 Spring Boot Admin Server 浏览器打开localhost:8080,就可以看到小清新的页面了
此时被监控的应用数目还为0,接下来我们就来创建一个待监控的Spring Boot 示例。
2、创建 Spring Boot Admin Client
搭建示例:bank-springboot-base-actuator-admin-client
pom.xml中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.1</version>
</dependency>
复制代码
编辑配置文件
server:
port: 8081
spring:
application:
name: bank-springboot-base-actuator-admin-client
boot:
admin:
client:
url: http://localhost:8080
management:
endpoints:
web:
exposure:
include: "*"
复制代码
启动 Spring Boot Admin Client 应用 刷新http://localhost:8080,可以看到应用已经被监控起来了: