使用 Spring Boot 執行器管理及監視應用程式
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於: ✔️ Java ❌ C#
本文適用於: ✔️ 基本/標準 ✔️ 企業
Spring Boot 執行器會將生產就緒的功能帶入您的應用程式。 您可以毫不費力地監視應用程式、收集計量,以及使用此工具了解狀態或資料庫活動。 您不需要從頭開始建置專業級工具即可存取這些工具。
執行器會公開執行中應用程式的重要作業數據,例如健康情況狀態、計量、資訊等等。 執行器會使用 HTTP 端點或 Java 管理延伸模組 (JMX),讓您可以輕鬆地與其互動。 整合之後,它會提供數個預設端點,就像其他 Spring 模組一樣,它可以輕鬆地設定和擴充。
Azure Spring Apps 使用執行器透過 JMX 擴充計量。 它也可以在企業方案中使用應用程式即時檢視,以協助您從應用程式取得數據並與其互動。
設定 Spring Boot 執行器
下列各節說明如何設定執行器。
新增執行器相依性
若要將執行器新增至 Maven 型專案,請新增下列相依性:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
此設定適用於任何 Spring Boot 版本,因為 Spring Boot 材料帳單 (BOM) 涵蓋版本。
設定執行器端點
根據預設,Spring Boot 應用程式只會公開 health
端點。 若要觀察組態和可設定的環境,請使用下列步驟來啟用 env
和 configprops
端點:
移至應用程式 [概 觀 ] 窗格,在設定功能表中選取 [組 態],然後移至 [環境變數 組態] 頁面。
將下列屬性新增為 「key:value」 表單。 此環境會開啟下列 Spring 執行器端點:
health
、env
和configprops
。management.endpoints.web.exposure.include: health,env,configprops
選取儲存。 您的應用程式會自動重新啟動,並載入新的環境變數。
您現在可以回到應用程式 [概觀 ] 窗格,等到 [布建狀態] 變更為 [成功] 為止。
若要檢視所有內建和相關組態的端點,請參閱 Spring Boot Production-ready Features 的公開端點一節。
安全執行器端點
當您將應用程式開啟至公用時,這些執行器端點也會公開給公眾。 建議您藉由設定 management.endpoints.web.exposure.exclude=*
來隱藏所有端點,因為 exclude
屬性的優先順序高於 include
屬性。 此動作會封鎖企業方案中的應用程式實時檢視,以及其他依賴執行器 HTTP 端點的應用程式或工具。
在企業方案中,有兩種方式可保護存取:
您可以停用應用程式的公用端點,並在 VMware Spring Cloud Gateway 中設定路由規則,以停用來自公用的執行器存取。 如需詳細資訊,請參閱 設定 VMware Spring Cloud Gateway。
您可以將執行器設定為接聽主要應用程式的不同 HTTP 連接埠。 在獨立應用程式中,執行器 HTTP 連接埠預設為與主要 HTTP 連接埠相同的 。 若要讓應用程式在不同的埠上接聽,請設定
management.server.port
屬性。 應用程式即時檢視無法自動偵測此埠變更,因此您也需要在 Azure Spring Apps 部署上設定 屬性。 然後,執行器無法公開存取,但應用程式即時檢視可以透過另一個埠從執行器端點讀取。 如需詳細資訊,請參閱透過 Azure Spring 應用程式企業版方案使用應用程式即時檢視。