【从零开始学Spring Boot】-9.Spring Boot Admin


1.简介

1.1 概述

Spring Boot Admin is a community project to manage and monitor your Spring Boot ® applications. The applications register with our Spring Boot Admin Client (via HTTP) or are discovered using Spring Cloud ® (e.g. Eureka, Consul). The UI is just a Vue.js application on top of the Spring Boot Actuator endpoints.

Spring Boot Admin是一个社区项目,用于管理和监视Spring Boot® 应用程序。这些应用程序在我们的Spring Boot Admin Client中注册(通过HTTP),或者使用Spring Cloud®(例如,Eureka,Consul)发现。 UI只是Spring Boot Actuator端点之上的 Vue.js 应用程序。

1.2 特点

  • Show health status:显示健康状况
  • Show details, like:显示详细信息,例如
    • JVM & memory metrics:JVM 和 内存指标
    • micrometer.io metrics:micrometer io指标
    • Datasource metrics:数据源指标
    • Cache metrics:缓存指标
  • Show build-info number:显示构建信息编号
  • Follow and download logfile:追踪并下载日志文件
  • View jvm system- & environment-properties:查看 jvm 系统属性和环境属性
  • View Spring Boot Configuration Properties:查看 Spring Boot 配置属性
  • Support for Spring Cloud’s postable /env- &/refresh-endpoint:支持Spring Cloud的可发布/ env-和// refresh-endpoint
  • Easy loglevel management:轻松的日志级别管理
  • Interact with JMX-beans:与JMX-beans交互
  • View thread dump:查看线程转储
  • View http-traces:查看http跟踪
  • View auditevents:查看审计事件
  • View http-endpoints:查看http端点
  • View scheduled tasks:查看定时任务
  • View and delete active sessions (using spring-session):查看和删除活动会话(使用spring-session)
  • View Flyway / Liquibase database migrations:查看Flyway / Liquibase数据库迁移
  • Download heapdump:下载 heapdump
  • Notification on status change (via e-mail, Slack, Hipchat, …):状态更改通知(通过电子邮件,Slack,Hipchat等)
  • Event journal of status changes (non persistent):状态更改的事件日志(非持久性)

2.演示环境

  1. JDK 1.8.0_201
  2. Spring Boot 2.2.0.RELEASE
  3. 构建工具(apache maven 3.6.3)
  4. 开发工具(IntelliJ IDEA )

3.演示代码

3.1 代码说明

使用 spring boot admin 需要两个项目:一个是 admin 项目,一个是 client 项目。admin 项目开启 SpringBoot Admin 功能,client 项目注册到 admin 项目上。

3.2 代码结构

3.3 maven 依赖

spring-boot-admin –> pom.xml

<modules>
    <module>spring-boot-admin-server</module>
    <module>spring-boot-admin-client</module>
</modules>

spring-boot-admin-server –> pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-server</artifactId>
    </dependency>
</dependencies>

spring-boot-admin-client –> pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
    </dependency>
</dependencies>

3.4 配置文件

spring-boot-admin-server –> application.properties

spring.application.name=spring-boot-admin-server

server.port=8080

spring-boot-admin-client –> application.properties

spring.application.name=spring-boot-admin-client

server.port=9090
# 指定admin-server地址
spring.boot.admin.client.url=http://localhost:8080
# 监控所有的endpoint
management.endpoints.web.exposure.include=*

3.5 java代码

SpringBootAdminServerApplication.java

@EnableAdminServer
@SpringBootApplication
public class SpringBootAdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootAdminServerApplication.class, args);
    }
}

SpringBootAdminClientApplication.java

@SpringBootApplication
public class SpringBootAdminClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootAdminClientApplication.class, args);
    }
}

3.6 git 地址

spring-boot/spring-boot-05-basis/spring-boot-admin

4.效果展示

先启动 SpringBootAdminServerApplication.main 方法,再启动 SpringBootAdminClientApplication.main 方法。

访问 http://localhost:8080/,会自动跳转到 Spring Boot Admin 界面,可以看到 spring-boot-admin-client 已经注册上来了

点击 spring-boot-admin-client,可以查看各项监控指标

5.参考

  1. Spring Boot Admin

文章作者: Soulballad
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Soulballad !
评论
 上一篇
【源码分析-Spring Boot】-8.Spring Boot WebEndpoint 请求原理 【源码分析-Spring Boot】-8.Spring Boot WebEndpoint 请求原理
Spring Boot Actuator监控:【从零开始学Spring Boot】-8.Spring Boot Actuator监控 1.web endpoint 请求原理spring boot actuator 中有很多 endpoi
2020-07-20
下一篇 
【从零开始学Spring Boot】-8.Spring Boot Actuator监控 【从零开始学Spring Boot】-8.Spring Boot Actuator监控
1.简介1.1 概述 Spring Boot includes a number of additional features to help you monitor and manage your application when you
  目录