Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。 UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。
快速开始
首先在 IDEA 创建一个 SpringBoot 项目,把它当作 server 端,工程如下:
然后在 pom.xml 中引入依赖:
<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>
继续在启动类 SpringbootAdminApplication.java 中引入注解 @EnableAdminServer ,然后运行项目:
访问 http://localhost:8084/ 即可:
此时会发现没有任何应用程序的信息。
接下来我们新建一个 SpringBoot 项目,把它当作客户端程序,工程如下:
在 pom.xml 中添加依赖:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.5.6</version> </dependency>
然后在 application.yml 中设置:
spring.boot.admin.url=http:localhost:8094 用于将当前应用注册到 Spring Boot Admin。
还可以设置,spring.boot.admin.client.name: (应用程序的名字)不设置的话会有默认的名字
此时把两个项目运行起来:
点击图中的 detail 按钮:可以看到应用程序的健康值、内存、JVM、GC 等信息。
metrics 信息:
环境 信息:
log 信息:
JMX 信息:
线程 信息:
Trace追踪信息:
还可以下载 Heapdump 文件。
刚才首页的应用列表后面有个红色的 ×,我们可以将注册上去的应用移除,但是只要你不把程序停掉,它立马又会注册上去。
还有就是应用列表的 version 和 info 上面的图中为空,下面看看怎么把它变出来:
info.groupId: @project.groupId@ info.artifactId: @project.artifactId@ info.version: @project.version@
重新运行客户端程序,刷新页面可以发现:
还可以查询应用程序的事件变化:
客户端应用程序
JMX bean管理
要在管理界面中与JMX-beans进行交互,您必须在客户端应用程序中包含 Jolokia,
pom.xml 加入依赖:
<dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency>
重启客户端程序后,就可以在这里与 JMX 做交互了:
还有很多 SpringBoot Admin 客户端配置选项:
http://codecentric.github.io/spring-boot-admin/1.5.6/#spring-boot-admin-client
服务端程序
也有些 SpringBoot Admin 服务端程序配置选项:
http://codecentric.github.io/spring-boot-admin/1.5.6/#spring-boot-admin-server
官方文档里面还有些关于服务下线消息通知的知识,想了解的可以查看:
http://codecentric.github.io/spring-boot-admin/1.5.6/#_notifications