学习目标

  • 了解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/,可以看到如下界面:
    SpringBoot Admin集成 - 图1