开始阅读这篇文章以前,建议先阅读下《SpringBoot 之Actuator》,该篇文章提到 Spring Boot Actuator 提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。可是美中不足的是:html
在这样的背景下,就诞生了另一个开源软件:Spring Boot Admin。那么什么是 Spring Boot Admin 呢?Spring Boot Admin 是一个针对 Spring Boot Actuator 进行UI美化封装的监控工具。集群的每一个应用都认为是一个客户端(或者说实例),经过HTTP或者使用 Eureka 注册到 Spring Boot Admin Server中进行展现,Spring Boot Admin UI 使用AngularJs将数据展现在前端。前端
下面将给你们介绍如何使用Spring Boot Admin对Spring Boot应用进行监控。java
下面介绍 spring-boot-admin-server 的构建,要监控的每一个客户端(或者说实例),均可以把 Actuator 数据注册到 server 中进行 UI 渲染展现。git
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.1.5</version> </dependency>
server: port: 3333 spring: application: name: monitor
@SpringBootApplication @EnableAdminServer public class Application { public static void main(String[] args) { SpringApplication.run(Application.class); } }
作完以上动做,咱们一个 spring-boot-admin-server 项目就搭建好了。github
咱们已经有了一个 spring-boot-admin-server,如今要作的就是如何把客户端(或者说实例)的 Actuator 数据注册到 Server 中。web
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.1.5</version> </dependency>
spring: application: name: dubbo-provider boot: admin: enabled: true client: instance: name: ${spring.application.name} prefer-ip: true url: http://127.0.0.1:3333 management: endpoints: web: exposure: include: '*'
如此,咱们就把客户端(或者说实例)的 Actuator 数据注册到 Server 中了。spring