关注公众号:壹家大数据
源码下载,后台回复:spa
Spring Boot Admin简介
Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。创建的springboot应用程序作为Spring Boot Admin Client需要向Spring Boot Admin Server注册(通过HTTP)。UI是的AngularJs应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。常见的功能或者监控如下,比如显示健康状况,监控日志等级等。
搭建server端
创建Spring Boot Admin Server
本文采用maven工程的方式来进行搭建,spring boot的版本为2.1.1。在工程admin-server引入admin-server的起来依赖和web的起步依赖,代码如下:
<dependencies>
<!-- AdminUI服务端依赖 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- Spring Boot Actuator对外暴露引用的监控信息, Jolokia提供使用HTTP接口获取json -->
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
<!-- Spring Boot Actuator依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 服务包引用1.1.1版本, maven仓库已经不支持下载, 手动引入1.1版本 -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
然后需要在工程的启动类Application加上@EnableAdminServer注解,才能够开启AdminServer的功能,代码如下:
@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在工程的配置文件application.properties中配置程序名和程序的端口,代码如下:
server.port=8081
通过上面的操作,Admin Server就创建好了。
创建Spring Boot Admin Client
需要在admin-client工程的pom文件引入admin-client的起步依赖和web的起步依赖,代码如下:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在springboot 应用的配置文件application.properties中配置应用名和端口信息,以及指定admin-server注册的地址为http://127.0.0.1:8081.最后暴露spring-boot应用的所有的端口信息
management.endpoint.loggers.enabled=true
management.endpoints.web.exposure.include=*
spring.boot.admin.client.url=http://127.0.0.1:8081
spring.application.name=admin-client
spring-boot应用的启动文件如下:
@EnableAdminServer
@SpringBootApplication
public class SpringTutorialApplication {
private static Logger logger = LoggerFactory.getLogger(SpringTutorialApplication.class);
public static void main(String[] args) {
logger.info("test info");
logger.debug("test debug");
SpringApplication.run(SpringTutorialApplication.class, args);
}
一次启动两个工程,在浏览器上输入localhost:8081,浏览器显示的界面如下:
点击查看wallboard:
点击wallboard,可以看到admin-client具体的信息,比如内存状态信息:
也可以查看spring bean的情况:
同样也可以查看并动态设置日志的等级:
还有跟多其他的操作,自己探索吧。
参考资料
http://codecentric.github.io/spring-boot-admin/2.1.0/
https://github.com/codecentric/spring-boot-admin