Spring Boot Admin 是一個管理和監控你的 Spring Boot 應用程式的應用程式。 這些應用程式通過 Spring Boot Admin Client(通過 HTTP)註冊或者使用 Spring Cloud(例如 Eureka)發現。 UI只是 Spring Boot Actuator 端點上的一個 AngularJs 應用程式。
簡而言之:
SpringBoot Admin 在 Spring Boot Actuator 的基礎上提供簡潔的視覺化 WEB UI,是用來管理 SpringBoot 應用程式的一個簡單的介面。分為客戶端和服務端,服務端會通過訪問客戶端提供的Actuator Endpoint來採集資訊。 提供如下功能:
顯示 name/id 和版本號 顯示線上狀態 Logging 日誌級別管理 JMX beans 管理 Threads 會話和執行緒管理 Trace 應用請求跟蹤 應用執行引數資訊,如:Java 系統屬性、Java 環境變數屬性、記憶體資訊、Spring 環境屬性。
1、搭建 Spring Boot Admin Server
搭建服務端:bank-springboot-base-actuator-admin-server
新增依賴pom.xml
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
複製程式碼
如果要使用jmx的話,需要新增jar包
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
複製程式碼
應用主類新增註解
@SpringBootApplication
@EnableAdminServer
public class ActuatorAdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(ActuatorAdminServerApplication.class, args);
}
}
複製程式碼
啟動 Spring Boot Admin Server 瀏覽器開啟localhost:8080,就可以看到小清新的頁面了
此時被監控的應用數目還為0,接下來我們就來建立一個待監控的Spring Boot 示例。
2、建立 Spring Boot Admin Client
搭建示例:bank-springboot-base-actuator-admin-client
pom.xml中新增依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.1</version>
</dependency>
複製程式碼
編輯配置檔案
server:
port: 8081
spring:
application:
name: bank-springboot-base-actuator-admin-client
boot:
admin:
client:
url: http://localhost:8080
management:
endpoints:
web:
exposure:
include: "*"
複製程式碼
啟動 Spring Boot Admin Client 應用 重新整理http://localhost:8080,可以看到應用已經被監控起來了:
3、被監控應用上線之後,我們進入 Spring Boot Admin