共用方式為


使用 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 執行器之數據流的圖表。

設定 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 端點。 若要觀察組態和可設定的環境,請使用下列步驟來啟用 envconfigprops 端點:

  1. 移至應用程式 [概 ] 窗格,在設定功能表中選取 [組 態],然後移至 [環境變數 組態] 頁面。

  2. 將下列屬性新增為 「key:value」 表單。 此環境會開啟下列 Spring 執行器端點: healthenvconfigprops

    management.endpoints.web.exposure.include: health,env,configprops
    
  3. 選取儲存。 您的應用程式會自動重新啟動,並載入新的環境變數。

您現在可以回到應用程式 [概觀 ] 窗格,等到 [布建狀態] 變更為 [成功] 為止。

若要檢視所有內建和相關組態的端點,請參閱 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 應用程式企業版方案使用應用程式即時檢視

下一步