(64)java Spring Cloud+Spring boot+mybatis企業快速開發架構之Spring Boot Admin的介紹及使用
Spring Boot 有一個非常好用的監控和管理的源軟體,這個軟體就是 Spring Boot Admin。該軟體能夠將 Actuator 中的資訊進行介面化的展示,也可以監控所有 Spring Boot 應用的健康狀況,提供實時警報功能。
主要的功能點有:
顯示應用程式的監控狀態
應用程式上下線監控
檢視 JVM,執行緒資訊
視覺化的檢視日誌以及下載日誌檔案
動態切換日誌級別
Http 請求資訊跟蹤
其他功能點……
可點選 https://github.com/codecentric/spring-boot-admin 更多瞭解 Spring-boot-admin。
建立Spring Boot Admin專案
建立一個 Spring Boot 專案,用於展示各個服務中的監控資訊,加上 Spring Boot Admin 的依賴,具體程式碼如下所示。
1 2 3 4 5 6 7 8 9 |
<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>
<version> 2.0 . 2 </version>
</dependency>
|
建立一個啟動類,具體程式碼如下所示。
1 2 3 4 5 6 7 |
@EnableAdminServer
@SpringBootApplication
public class App{
public static void main( String []args){
SpringApplication.run(App. class ,args);
}
}
|
在屬性檔案中增加埠配置資訊:
server.port=9091
啟動程式,訪問 Web 地址 http://localhost:9091 就可以看到主頁面了,這個時候是沒有資料的,如圖 1 所示。
將服務註冊到 Spring Boot Admin
建立一個 Spring Boot 專案,名稱為 spring-boot-admin-client。新增 Spring Boot Admin Client 的 Maven 依賴,程式碼如下所示。
1 2 3 4 5 |
<dependency>
<groupid>de.codecentric</groupid>
<artifactid>spring-boot-admin-starter-client</artifactid>
<version> 2.0 . 2 </version>
</dependency>
|
然後在屬性檔案中新增下面的配置:
server.port=9092
spring.boot.admin.client.url=http://localhost:9091
spring.boot.admin.client.url:Spring Boot Admin 服務端地址。
將服務註冊到 Admin 之後我們就可以在 Admin 的 Web 頁面中看到我們註冊的服務資訊了,如圖 2 所示。
點選例項資訊跳轉到詳細頁面,可以檢視更多的資訊,如圖 3 所示。
可以看到詳情頁面並沒有展示豐富的監控資料,這是因為沒有將 spring-boot-admin-client 的端點資料暴露出來。
在 spring-boot-admin-client 中加入 actuator 的 Maven 依賴,程式碼如下所示。
1 2 3 4 |
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-actuator</artifactid>
</dependency>
|
然後在屬性檔案中追加下面的配置:
1 management.endpoints.web.exposure.
include
=*
management.endpoints.web.exposure.include:暴露所有的 actuator 端點資訊重啟 spring-boot-admin-client,我們就可以在詳情頁面看到更多的資料,如圖 4 所示。
監控內容介紹
自定義的 Info 資訊、健康狀態、元資料,如圖 5 所示。
CPU、執行緒等資訊如圖 6 所示。
記憶體使用情況如圖 7 所示。
配置資訊如圖 8 所示。
日誌級別調整如圖 9 所示。
Http請求資訊如圖 10 所示。
如何在Admin中檢視各個服務的日誌
Spring Boot Admin 提供了基於 Web 頁面的方式實時檢視服務輸出的本地日誌,前提是服務中配置了 logging.file。
我們在 spring-boot-admin-client 的屬性檔案中增加下面的內容:
1 logging.file=/Users/zhangsan/Downloads/spring-boot-admin-client.log
重啟服務,就可以在 Admin Server 的 Web 頁面中看到新加了一個 Logfile 選單,如圖 11 所示。