開始閱讀這篇文章以前,建議先閱讀下《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