1. 程式人生 > 其它 >(64)java Spring Cloud+Spring boot+mybatis企業快速開發架構之Spring Boot Admin的介紹及使用

(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 publicclassApp{ publicstaticvoidmain(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 所示。