共用方式為


如何設定 APM 整合和 CA 憑證

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但是您暫時還是會在某些位置看到舊的名稱。我們正在致力更新螢幕擷取畫面、影片和圖表等資產。

本文適用於:❌ 基本/標準✔️企業

本文說明如何在 Azure Spring Apps Enterprise 方案中設定應用程式效能監視器 (APM) 整合和證書頒發機構單位 (CA) 憑證。

您可以在 Azure Spring Apps 企業方案實例上啟用或停用 Tanzu Build Service。 如需詳細資訊,請參閱使用 Tanzu Build Service建置服務隨選一節。

必要條件

  • 已布建的 Azure Spring Apps 企業版方案實例。 如需詳細資訊,請參閱 快速入門:使用企業方案建置和部署應用程式至 Azure Spring Apps。
  • Azure CLI 2.49.0 版或更高版本。 使用下列命令來安裝 Azure Spring Apps 擴充功能: az extension add --name spring

支援的案例 - APM 和 CA 憑證整合

Tanzu Build Service 會使用 buildpack 系結來與 Tanzu Partner Buildpacks 和其他雲端原生組建套件整合,例如 GitHub 上的 ca-certificates buildpack。

Azure Spring Apps 目前支援下列 APM 類型:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

Azure Spring Apps 支援所有語言系列組建套件的 CA 憑證,但不支援所有支援的 APM。 下表顯示 Tanzu 語言系列 buildpacks 支援的系結類型。

Buildpack ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Go
Python
NodeJS
網頁伺服器
Java 原生映像
PHP

如需使用網頁伺服器的相關信息,請參閱 部署Web靜態檔案

Tanzu Build Service 預設會在 Azure Spring Apps Enterprise 中啟用。 如果您選擇停用建置服務,則可以部署應用程式,但只能使用自定義容器映像。 本節提供啟用和停用建置服務案例的指引。

支援的 APM 類型

本節列出您可以用於整合之 API 的支持語言和必要環境變數。

  • Application Insights

    支援的語言:

    • Java

    buildpack 系結所需的環境變數:

    • connection-string

    如需其他支持的環境變數,請參閱 Application Insights 概觀

  • DynaTrace

    支援的語言:

    • Java
    • .NET
    • Go
    • Node.js
    • WebServers
    • PHP

    buildpack 系結所需的環境變數:

    • api-urlenvironment-id (用於建置步驟)
    • api-token (建置步驟)
    • TENANT
    • TENANTTOKEN
    • CONNECTION_POINT

    如需其他支持的環境變數,請參閱 Dynatrace

  • New Relic

    支援的語言:

    • Java
    • .NET
    • Node.js
    • PHP

    buildpack 系結所需的環境變數:

    • license_key
    • app_name

    如需其他支持的環境變數,請參閱 New Relic

  • 彈性

    支援的語言:

    • Java
    • Node.js
    • PHP

    buildpack 系結所需的環境變數:

    • service_name
    • application_packages
    • server_url

    如需其他支持的環境變數,請參閱 彈性

  • AppDynamics

    支援的語言:

    • Java
    • Node.js

    buildpack 系結所需的環境變數:

    • agent_application_name
    • agent_tier_name
    • agent_node_name
    • agent_account_name
    • agent_account_access_key
    • controller_host_name
    • controller_ssl_enabled
    • controller_port

    如需其他支持的環境變數,請參閱 AppDynamics

產生器中的系結已被取代

注意

先前,您會透過產生器中的系結來管理 APM 整合和 CA 憑證。 建置器功能中的系結已被取代,未來將會移除。 建議您移轉系結中設定的 APM。 如需詳細資訊,請參閱 移轉系結 中所設定的 APM 一節。

當您針對建置服務使用自己的容器登錄或停用建置服務時,建置器中的系結功能無法使用。

當您針對建置服務使用受控 Azure Container Registry 時,登錄仍可供回溯相容性使用,但未來將會移除。

當您使用 Azure CLI 建立服務實例時,可能會收到錯誤訊息 Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabled。 此訊息表示您使用的是舊版的 Azure CLI。 若要修正此問題,請升級 Azure CLI。 如需詳細資訊,請參閱 如何更新 Azure CLI

設定應用程式組建和部署的 APM 整合

您可以使用下列兩種方式在 Azure Spring Apps 中設定 APM:

  • 在服務實例層級上管理 APM 設定,並藉由參考它們來系結至應用程式組建和部署。 此方法是設定 APM 的建議方式。

  • 透過產生器中的系結管理 APM 組態,並藉由參考產生器系結至應用程式組建和部署。

注意

這種方法是設定 APM 的舊方法,現在已被取代。 建議您移轉系結中設定的 APM。 如需詳細資訊,請參閱 移轉系結 中所設定的 APM 一節。

您現在可以在 Azure Spring Apps 中設定 APM,方法是在服務實例層級上管理 APM 設定,並藉由參考它們系結至應用程式組建和部署。 此方法是設定 APM 的建議方式。

下列各節提供這兩種方法的指引。

您可以建立 APM 組態並系結至應用程式組建和部署,如下列各節所述。

在 Azure Spring Apps 中管理 APM 設定

您可以使用 Azure 入口網站 或 Azure CLI,在 APM 設定中設定屬性或秘密來管理 APM 整合。

注意

透過 APM 組態設定屬性或秘密時,請使用不含 APM 名稱的密鑰名稱作為前置詞。 例如,請勿針對 Dynatrace 或 APPLICATIONINSIGHTS_ Application Insights 使用DT_前置詞。 Tanzu APM 組建套件會將密鑰名稱轉換為具有前置詞的原始環境變數名稱。

如果您想要覆寫或設定某些屬性或秘密,例如應用程式名稱或應用程式層級,則需要在使用 APM 名稱做為前置詞的原始環境變數部署應用程式時設定環境變數。

使用下列步驟來顯示、新增、編輯或刪除 APM 設定:

  1. 開啟 Azure 入口網站

  2. 在瀏覽窗格中,選取 [APM]。

  3. 若要建立 APM 組態,請選取 [ 新增]。 如果您想要全域啟用 APM 設定,請選取 [ 全域啟用]。 所有後續的組建和部署都會自動使用 APM 設定。

    Azure 入口網站 的螢幕快照,其中顯示已醒目提示 [新增] 按鈕的 APM 組態頁面。

  4. 若要檢視或編輯 APM 設定,請選取組態的省略號 (...) 按鈕,然後選取 [ 編輯 APM]。

    Azure 入口網站 螢幕快照,其中顯示已選取 [編輯 APM] 選項的 APM 組態頁面。

  5. 若要刪除 APM 組態,請選取組態的省略號 (...) 按鈕,然後選取 [ 刪除]。 如果任何組建或部署都使用 APM 組態,您就無法將其刪除。

    Azure 入口網站 的螢幕快照,其中顯示已醒目提示 [刪除] 按鈕的 APM 設定頁面。

使用下列步驟來檢視系結至組建的 APM 組態:

  1. 流覽至 Azure Spring Apps 實例的 [建置服務 ] 頁面。

    Azure 入口網站 的螢幕快照,其中顯示清單中目前組建的組建服務頁面。

  2. 在瀏覽窗格的 [設定] 區段中,選取 [APM 系結]。

  3. 在 [ APM 系 結] 頁面上,檢視系結至組建的 APM 組態。

    APM 系結頁面的螢幕快照,其中顯示系結至組建的 APM 組態。

使用下列步驟來檢視系結至部署的 APM 組態:

  1. 流覽至您的應用程式頁面。

  2. 在瀏覽窗格的 [設定] 區段中,選取 [APM 系結]。

  3. 在 [ APM 系 結] 頁面上,檢視系結至部署的 APM 組態。

    APM 系結頁面的螢幕快照,其中顯示系結至部署的 APM 組態。

如需組建套件和propertiessecrets參數的詳細資訊,請參閱支援的案例 - APM 和 CA 憑證整合一節。

系結至應用程式組建和部署

針對使用受控 Azure Container Registry 的組建服務,請使用下列命令將 APM 整合到您的部署:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

當您全域啟用 APM 設定時,所有後續的組建和部署都會自動使用它,而且不需要指定 --apms 參數。 如果您想要覆寫全域為部署啟用的 APM 組態,請透過 --apms 參數指定 APM 組態。

對於使用您自己的容器登錄的組建服務,您可以將應用程式建置至容器映射,並將映像部署到目前或其他 Azure Spring Apps 企業版服務實例。

提供您自己的容器登錄會分隔建置與部署。 您可以使用 build 命令,使用建置器建立或更新組建,然後使用 deploy 命令將容器映射部署至服務。

使用下列命令來建置映像並設定 APM:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

當您全域啟用 APM 設定時,所有後續的組建和部署都會自動使用它,而且不需要指定 --apms 參數。 如果您想要覆寫針對組建全域啟用的 APM 組態,請透過 --apms 參數指定 APM 組態。

使用下列命令,使用先前建置的容器映像來部署應用程式,並設定APM。 您可以使用全域啟用的 APM 組態,或使用 --apms 參數來指定 APM 組態。

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

當您停用建置服務時,您只能部署具有容器映像的應用程式。 如需詳細資訊,請參閱 使用自定義容器映像部署應用程式。

您可以使用 Azure Spring Apps Enterprise 的多個實例,其中某些實例會建置和部署映像,而其他實例則只會部署映像。 試想以下情況:

針對一個實例,您可以使用使用者容器登錄來啟用建置服務。 然後,您會使用 APM 或 CA 憑證,從成品檔案或原始程式碼建置至容器映像。 然後,您可以部署到目前的 Azure Spring Apps 實例或其他服務實例。 如需詳細資訊,請參閱如何在 Azure Spring Apps Enterprise 中部署 Polyglot 應用程式的<建置和部署 polyglot 應用程式>一節。

在另一個已停用建置服務的實例中,您會在登錄中部署具有容器映像的應用程式,同時也會使用 APM。

在此案例中,您可以使用全域啟用的 APM 組態,或使用 --apms 參數來指定 APM 組態,如下列範例所示:

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

透過產生器中的系結管理 APM (已淘汰)

當建置服務使用 Azure Spring Apps 受控容器登錄時,您可以將應用程式建置至映射,然後將其部署,但僅限於目前的 Azure Spring Apps 服務實例內。

透過產生器中的系結管理 APM 組態

您可以透過產生器中的系結來管理 APM 組態。 如需詳細資訊,請參閱 在 Azure Spring Apps 中管理建立器中的系結(已淘汰) 一節。

系結至應用程式組建和部署

使用下列命令,將APM整合到您的部署中。 APM 是透過產生器中的系結來設定:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

建立服務實例時啟用ApplicationInsights

如果您在建立服務實例時啟用 Application Insights,則適用下列條件:

  • 如果您使用受控 Azure Container Registry 進行建置服務,Application Insights 會系結至預設產生器中的系結。
  • 如果您針對建置服務使用自己的容器登錄,或停用建置服務,則會為 Application Insights 建立預設的 APM 組態。 默認 APM 會全域啟用,而且所有後續的組建和部署都會自動使用它。

設定應用程式組建和部署的 CA 憑證

您可以使用下列兩種方式,在 Azure Spring Apps 中設定 CA 憑證:

  • 您可以在 TLS/SSL 設定中管理公用憑證,並藉由參考它們來系結至應用程式組建和部署。 此方法是設定 CA 憑證的建議方式。
  • 您可以在 TLS/SSL 設定中管理公用憑證,並透過產生器中的系結 CA 憑證。 如需詳細資訊,請參閱 在 Azure Spring Apps 中管理建立器中的系結(已淘汰) 一節。

注意

這種方法是設定 CA 憑證且已被取代的舊方法。 建議您移轉系結中設定的 CA 憑證。 如需詳細資訊,請參閱 移轉系結 中設定的 CA 憑證一節。

您現在可以在 TLS/SSL 設定中管理公用憑證,並藉由參考它們來系結至應用程式組建和部署。 此方法是設定 CA 憑證的建議方式。

若要管理服務實例層級上的公用憑證,請參閱在 Azure Spring Apps 中使用應用程式中的 TLS/SSL 憑證一節。 然後,請遵循下列各節所述的其中一種方法,將 CA 憑證系結至應用程式組建和部署。

將 CA 憑證系結至應用程式組建和部署

如需如何將 CA 憑證系結至部署的資訊,請參閱在 Azure Spring Apps 中使用應用程式中的 TLS/SSL 憑證一節。 然後,使用下列指示系結至應用程式組建。

當您啟用建置服務並使用受控 Azure Container Registry 時,請使用下列命令將 CA 憑證整合到您的部署中:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --build-certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

當您針對組建服務使用自己的容器登錄或停用組建服務時,請使用下列命令將 CA 憑證整合到組建中:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

檢視系結至應用程式組建的 CA 憑證

使用下列步驟來檢視系結至組建的 CA 憑證:

  1. 流覽至您的組建頁面。

    Azure 入口網站 的螢幕快照,其中顯示清單中目前組建的組建服務頁面。

  2. 在瀏覽窗格的 [設定] 區段中,選取 [憑證系結]。

  3. 在 [ 憑證系 結] 頁面上,檢視系結至組建的 CA 憑證。

    憑證系結頁面的螢幕快照,其中顯示系結至組建的 CA 憑證。

透過產生器中的系結 CA 憑證 (已淘汰)

CA 憑證使用 ca-certificates buildpack 來支援在組建和運行時間將 CA 憑證提供給系統信任存放區。

在 Azure Spring Apps 企業版方案中,CA 憑證會使用 Azure 入口網站 中 [TLS/SSL 設定] 頁面上的 [公鑰憑證] 索引卷標,如下列螢幕快照所示:

Azure 入口網站 螢幕快照,其中顯示 TLS/SSL 設定頁面的 [公鑰憑證] 區段。

您可以在 [ 編輯系結 ] 頁面上設定 CA 憑證。 憑證 succeeded 會顯示在 CA 憑證 清單中。

Azure 入口網站 的螢幕快照,其中顯示 [預設產生器] 的 [編輯系結] 頁面,並開啟 [CA 憑證的編輯系結] 面板。

在 Azure Spring Apps 中的建立器中管理系結(已淘汰)

本節僅適用於已啟用建置服務的 Azure Spring Apps Enterprise 服務實例。 啟用建置服務后,一個 buildpack 系結表示針對一個 APM 類型的認證組態,或針對 CA 憑證類型設定 CA 憑證組態。 針對 APM 整合,請遵循先前的指示來設定 APM 的必要環境變數或秘密。

注意

設定 APM 系結的環境變數時,請使用不含前置詞的索引鍵名稱。 例如,請勿針對 Dynatrace 系結或 APPLICATIONINSIGHTS_ Application Insights 使用DT_前置詞。 Tanzu APM 組建套件會將密鑰名稱轉換為具有前置詞的原始環境變數名稱。

您可以使用 Azure 入口網站 或 Azure CLI 來管理 buildpack 系結。

使用下列步驟來檢視 buildpack 系結:

  1. 在 Azure 入口網站 中,移至您的 Azure Spring Apps Enterprise 服務實例。

  2. 在瀏覽窗格中,選取 [ 建置服務]。

  3. 選取 [系結] 數據行底下的 [編輯],以檢視為建立器設定的系結。

    Azure 入口網站 的螢幕快照,其中顯示 [建置服務] 頁面,其中已醒目提示選取的建立器已醒目提示 [系結編輯] 連結。

  4. 檢閱 [編輯預設產生器] 頁面上的系結。

    Azure 入口網站 的螢幕快照,其中顯示預設產生器頁面的 [編輯系結] 頁面,其中已列出系結類型和其狀態。

建立 buildpack 系結

若要建立組建套件系結,請在 [編輯系結] 頁面上選取 [取消系結],指定系結屬性,然後選取 [儲存]。

解除系結組建套件系結

您可以使用 Unbind 系結命令或編輯系結屬性,解除系結套件系結。

若要使用 [解除系結系結 ] 命令,請選取 [系結 ] 超鏈接,然後選取 [ 解除系結系結]。

[編輯預設產生器] 頁面之 [Azure 入口網站 系結] 頁面的螢幕快照,其中已針對選取的系結類型醒目提示 [解除系結] 選項。

若要藉由編輯系結屬性解除系結建置套件系結,請選取 [編輯系結],然後選取 [ 解除系結]。

Azure 入口網站 螢幕快照,其中顯示已醒目提示 [取消系結] 按鈕的 [編輯系結] 頁面。

當您解除系結時,系結狀態會從 系結 變更為 Unbound

從產生器中的系結移轉 APM 和 CA 憑證

產生器中的系結功能已被取代,且未來將會移除。 建議您在產生器中移轉系結。

您可以在系結中設定 APM 和 CA 憑證,並使用下列各節來移轉它們。

移轉系結中設定的 APM

在大部分的使用案例中,預設產生器中的系結中只會設定一個 APM。 您可以在系結中使用相同的組態建立新的 APM 組態,並全域啟用此 APM 設定。 所有後續的組建和部署都會自動使用此組態。 使用下列步驟移轉:

  1. 使用下列命令來建立 APM 組態:

    az spring apm create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
        --type <your-APM-type> \
        --properties a=b c=d \
        --secrets e=f g=h
    
  2. 使用下列命令全域啟用 APM 設定:

    az spring apm enable-globally \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
    
  3. 使用下列命令重新部署所有應用程式,以全域啟用新的 APM 組態:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --artifact-path <path-to-your-JAR-file>
    
  4. 確認新的 APM 組態適用於所有應用程式。 如果一切正常運作,請使用下列命令來移除產生器中的 APM 系結:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

如果系結中設定了數個 APM,您可以在系結中使用相同的組態建立數個 APM 組態,並在適用時全域啟用 APM 設定。 --apms如果您想要覆寫全域啟用的 APM,請使用 參數來指定部署的 APM 組態,如下列命令所示:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

在移轉過程中,APM 會在系結和 APM 設定中設定。 在此情況下,APM 組態會生效,而且會忽略系結。

移轉系結中設定的 CA 憑證

使用下列步驟來移轉 CA 憑證:

  1. 如果是在系結中設定的 CA 憑證,如果用於運行時間,您可以將憑證載入您的應用程式。 如需詳細資訊,請參閱在 Azure Spring Apps 中使用應用程式中的 TLS/SSL 憑證一節

  2. 使用下列命令,使用 CA 憑證重新部署所有應用程式。 如果您在建置階段使用憑證,請使用 --build-certificates 參數來指定在建置階段用於部署的 CA 憑證:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --build-certificates <CA certificate-name> \
        --artifact-path <path-to-your-JAR-file>
    
  3. 確認 CA 憑證是否適用於使用該憑證的所有應用程式。 如果一切正常運作,請使用下列命令來移除產生器中的 CA 憑證系結:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-CA-certificate-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

下一步