Spring Boot Admin,賊好使!
Spring Boot Admin(SBA)是一個開源的社區項目,用於管理和監控 Spring Boot 應用程序。應用程序可以通過 http 的方式,或 Spring Cloud 服務發現機制註冊到 SBA 中,然後就可以實現對 Spring Boot 項目的可視化管理和查看了。
Spring Boot Admin 可以監控 Spring Boot 單機或集羣項目,它提供詳細的健康 (Health)信息、內存信息、JVM 系統和環境屬性、垃圾回收信息、日誌設置和查看、定時任務查看、Spring Boot 緩存查看和管理等功能。接下來我們一起來搭建和使用吧。
它最終的展示效果如下:
- 搭建 SBA 監控端
我們需要創建一個 Spring Boot Admin 項目,用來監控和管理我們的 Spring Boot 項目,搭建的方式和創建普通的 Spring Boot 項目類似,具體步驟如下。使用 Idea 創建一個 Spring Boot 項目:
<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>
</dependency>
1.1 開啓 SBA 服務
創建完項目之後,需要在啓動類上開啓 SBA 服務:
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableAdminServer // 添加此行代碼
@SpringBootApplication
public class SbaserverApplication {
public static void main(String[] args) {
SpringApplication.run(SbaserverApplication.class, args);
}
}
1.2 配置 SBA 端口號
在 application.properties 中配置一個項目的端口號就可以直接啓動了,我配置的端口號是 9001:
server.port=9001
PS:配置端口號的主要目的是爲了不和其他 Spring Boot 項目衝突,如果 SBA 是單獨部署此步驟可以忽略。
啓動項目之後,就可以看到 SBA 的主頁了,如下圖所示:
- 創建一個普通 SpringBoot 項目
首先,我們需要創建一個普通的 Spring Boot 項目,具體的創建步驟這裏就不演示了。當創建好 Spring Boot 項目之後,需要在這個 Spring Boot 項目中需要添加 SBA 客戶端框架的支持,也就是在 pom.xml 中配置如下內容:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
然後在 application.properties 文件中配置 SBA 服務器端地址,也就是咱們第一步創建 SBA 項目的地址,配置內容如下:
# 當前項目端口號
server.port=8080
# Spring Boot Admin 監控服務器端地址
spring.boot.admin.client.url=http://localhost:9001
其中 “spring.boot.admin.client.url” 爲 SBA 監控地址。
3.SpringBootAdmin 監控總覽
配置完以上信息之後,此時查看 Spring Boot Admin 頁面中就有被監控的 Spring Boot 項目了,如下圖所示:
4.SpringBoot 異常監控
當我們手動把被監控的 Spring Boot 項目停止之後,在 Spring Boot Admin 中就可以查看到一個應用已經被停掉了,如下圖所示:
- 配置查看更多監控項
通過上面的內容我們可以看出,監控的 Spring Boot 選項還是比較少的,怎麼才能查看更多的監控項呢?要解決這個問題,我們需要在被監控的 Spring Boot 項目中添加 spring-boot-starter-actuator 框架的支持,並開啓查看所有監控項的配置纔行,最終展示效果如下:
5.1 添加 actuator 框架支持
在被監控的 Spring Boot 項目中添加 actuator 框架支持,也就是在 pom.xml 中添加以下配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
手動點擊 Maven 導入依賴包(如果開啓了自動導入,此步驟可忽略)。
5.2 配置開放所有監控項
在被監控的 Spring Boot 項目中添加以下配置:
# 開啓監控所有項
management.endpoints.web.exposure.include=*
以上的配置是開放監控所有選項,配置完之後,重啓此 Spring Boot 項目,然後再刷新 Spring Boot Admin 更多的監控項就展示出來了,如下圖所示:
5.3 監控項目預覽
將 Spring Boot 的所有監控項都開啓之後,通過 SBA 就可以查看以下內容了:
-
啓動時間、累計運行時間;
-
進程和線程數量和佔用的 CPU 資源;
-
垃圾回收詳情信息,回收次數和花費時間;
-
JVM 線程轉儲、內存轉儲詳情和對應的文件下載;
-
可以查看和配置 Spring Boot 項目中的日誌級別;
-
查看 Spring Boot 項目性能監控;
-
查看 Spring Boot 運行環境信息;
-
查看 Spring Boot 所有類信息;
-
查看 Spring Boot 中的定時任務;
-
查看和管理 Spring Boot 項目中的所有緩存。
以下是幾個重要頁面的截圖,我們一起來看。
5.3.1 查看運行環境
5.3.2 查看定時任務
5.3.3 項目日誌級別配置
5.3.4 JVM 線程和內存查看
5.3.5 查看 SpringBoot 所有緩存
- 查看項目實時日誌
想要查看監控項目中的日誌信息,有一個前提條件,前提條件是你被監控的 Spring Boot 項目,必須配置了日誌的保存路徑或者日誌保存文件名,只有配置這兩項中的任意一項,你的 Spring Boot 項目纔會將日誌保存到磁盤上,這樣才能通過 SBA 查看到,我配置的是日誌路徑,在 Spring Boot 的 application.properties 配置文件中添加以下配置:
# 設置日誌保存路徑
logging.file.path=C:\\work\\log
設置完成之後,重啓你的 Spring Boot 項目,然後刷新 SBA 頁面,最終展示效果如下:
總結
Spring Boot Admin(SBA)是一個社區開源項目,用於管理和監視 Spring Boot 應用程序,它提供詳細的健康 (Health)信息、內存信息、JVM 系統和環境屬性、垃圾回收信息、日誌設置和查看、定時任務查看、Spring Boot 緩存查看和管理等功能。
我們需要創建一個 SBA 服務器端用來監控一個或多個 Spring Boot 項目,被監控的 Spring Boot 項目要添加 SBA Client 框架的支持,且添加 actuator 框架和相應的配置,就可以實現對 Spring Boot 項目的完美監控了。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/qglX8id8RRCB46D1SD82lw