背景
–SpringBootActuator提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了SpringBoot应用的整个生命周期。
–但是这样监控也有一些问题,第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的json信息不方便运营人员理解,第二,如果SpringBoot应用集群非常大,每个应用需要调用不同的接口来查看监控信息,操作非常繁琐低效,在这样的北京下,诞生了另一个开源软件: SprimgBootAdmin
什么是Spring Boot Admin?
–Spring Boot Admin 是一个管理和监控Spring Boot应用程序的开源软件,每个应用都认为是一个客户端,通过HTTP或者使用Eureka注册到admin server中进行展示,Spring Boot Admin UI部分使用AngularJs将数据展示在前端.
–Spring Boot Admin 是一个针对Spring-boot的actuator接口进行UI美化封装的监控工具,他可以,在列表中浏览所有被监控spring-boot项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息( 比如数据源、缓存列表和命中率等),还可以直接修改logger的level
监控单体应用
这里将给大家展示如何使用Spring Boot Admin监控单个Spring Boot 应用
Admin Server端
–项目依赖
<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.5.6</version>
</dependency>
</dependencies>
–配置文件
server.port=8000
–启动类
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
完成上面三步走之后,启动服务端,浏览器访问http://localhost:8000
Admin Client端
–项目依赖
<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.5.6</version>
</dependency>
</dependencies>
–配置文件
server.port=8001
spring.boot.admin.url=http://localhost:8000
management.security.enabled=false
- –spring.boot.admin.url 配置Admin Server的地址
- –management.security.enabled=false 关闭安全验证
–启动类
@SpringBootApplication
public class AdminClientApplication {
public static void main(String[] args) {
SpringApplication.run(AdminClientApplication.class, args);
}
}
–配置完成之后,启动Client端服务,再次访问服务:http://localhost:8000
可以看到客户端的相关信息。