学习目标
- 了解SpringBoot Admin的工作流程
- 搭建SpringBoot Admin项目
SpringBoot Admin的工作流程
Spring Boot Actuator
Actuator是Spring Boot的模块,它在应用中添加了REST/JMS端点,方便监控和管理应用。端点提供了健康检查、指标监控、访问日志、线程转储、堆转储和环境信息等等。Spring Boot Admin
Actuator功能强大,便于其他应用使用端点(只需要简单的REST调用)。但是开发人员使用时就没那么方便了。对于开发人员,有良好的交互界面会更方便浏览监控数据和管理应用。这正是Spring Boot Admin做的工作。它为actuator端点提供了良好的交互界面,并提供了额外的特性。
Spring Boot Admin不是Spring团队提供的模块,它是由Codecentric公司创建的,代码在Github上公开。Client And Server
不像Actuator,Spring Boot Admin由两部分组成:Client和Server。
Server部分包括Admin用户界面并独立运行于被监控应用。Client部分是包含在被监控应用中,并注册到Admin Server。
这样,即使应用挂掉了或者不能正常运行,监控的Server依然正常运行。假如你有多个应用(比如Spring Boot微服务应用),每个应用运行多个实例。对于传统的Actuator监控,很难单独访问每个应用,因为你要跟踪有多少实例及它们在哪运行。
对于Spring Boot Admin,被监控应用的每个实例(Client)在启动时注册到Server,每个实例在Admin Server就有一个单点,就可以检查它们的状态了。Server配置
首先对Spring Boot Admin Server进行配置。
创建一个Spring Boot工程,可以使用Spring Initializr创建。保证包含web模块。
创建工程后,第一件事就是添加Spring Boot Admin Server依赖:de.codecentric spring-boot-admin-starter-server 2.1.0
接着需要在启动类中加入注解@EnableAdminServer来开启Admin Server。
@SpringBootApplication
@EnableAdminServerpublic
class SpringBootAdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminServerApplication.class, args);
} }
现在运行程序并在浏览器打开http://localhost:8080/,可以看到如下界面:
