Spring Boot Admin(SBA)是一款基于Actuator开发的开源软件:https://github.com/codecentric/spring-boot-admin,以图形化界面的方式展示Spring Boot应用的配置信息、Beans信息、环境属性、线程信息、JVM状况等。本文使用的Spring Boot Admin版本为1.5.7,有能力的朋友可以直接阅读官方文档:http://codecentric.github.io/spring-boot-admin/1.5.7。
搭建SBA服务端
搭建一个SBA服务端(Server),其他被监控的Spring Boot应用作为客户端(Client),客户端通过HTTP的方式将自己注册到服务端,以供服务端进行监控服务。大致关系如下图所示:
引入SBA Server依赖
使用http://start.spring.io/开启一个简单的Spring Boot项目,然后引入spring-boot-admin-server相关依赖:
1 2 3 4 5 6 7 8 9 10 |
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.5.7</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.5.7</version>·
</dependency>
|
开启Admin监控
在Spring Boot入口类中加入@EnableAutoConfiguration,@EnableAdminServer注解开启监控功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import de.codecentric.boot.admin.config.EnableAdminServer;
@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
|
然后在yml中对项目进行简单的配置:
1 2 3 |
server: port: 8080 context-path: /admin-server |
启动项目,访问http://localhost:8080/admin-server:
因为还没添加客户端,所以监控列表里是空的,接下来创建一个Spring Boot应用作为客户端。
SBA客户端
引入SBA Client依赖
同样的,使用http://start.spring.io/搭建一个简单的Spring Boot项目作为SBA客户端,然后引入Client依赖:
1 2 3 4 5 |
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.5.7</version>
</dependency>
|
yml配置:
1 2 3 4 5 6 7 8 9 10 11 |
management:
security:
enabled: false
server:
port: 8081
spring:
boot:
admin:
url: http://localhost:8080/admin-server
|
spring.boot.admin.url配置的是SBA服务端的地址,management.security.enabled: false这里先关闭安全验证。启动客户端后查看http://localhost:8080/admin-server地址:
可看到SBA客户端已经被注册到SBA服务端了,接下来便可以在SBA服务端页面上查看各种SBA客户端信息:
客户端额外信息
默认客户端在服务端监控列表呈现的信息并不多:
我们可以在SBA客户端yml里配置更为详细的信息:
1 2 3 4 5 6 |
info:
app:
name: "@[email protected]"
description: "@[email protected]"
version: "@[email protected]"
spring-boot-version: "@[email protected]"
|
然后便可以在SBA服务端看到较为详细的客户端信息: