如何設定 APM 整合和 CA 憑證
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:❌基本/標準 ✔️ Enterprise
本文說明如何在 Azure Spring 應用程式企業方案中設定應用程式效能監視器 (APM) 整合及憑證授權單位 (CA) 憑證。
您可以在 Azure Spring 應用程式企業方案執行個體上啟用或停用 Tanzu Build Service。 如需詳細資訊,請參閱使用 Tanzu 建置服務的建置服務隨選一節。
必要條件
- 已佈建的 Azure Spring 應用程式企業版方案執行個體。 如需詳細資訊,請參閱快速入門:使用 Enterprise 方案建置應用程式並將其部署至 Azure Spring 應用程式。
- Azure CLI 2.49.0 版或更新版本。 使用下列命令,以安裝 Azure Spring 應用程式延伸模組:
az extension add --name spring
支援的案例 - APM 和 CA 憑證整合
Tanzu Build Service 會使用組建套件繫結來與 Tanzu Partner Buildpacks 和其他雲端原生組建套件整合,例如 GitHub 上的 CA 憑證組建套件。
Azure Spring 應用程式目前支援下列 APM 類型:
- ApplicationInsights
- Dynatrace
- AppDynamics
- New Relic
- ElasticAPM
Azure Spring 應用程式支援所有語言系列組建套件的 CA 憑證,但不支援所有支援的 APM。 下表顯示 Tanzu 語言系列組建套件支援的繫結類型。
Buildpack | ApplicationInsights | New Relic | AppDynamics | Dynatrace | ElasticAPM |
---|---|---|---|---|---|
Java | ✔ | ✔ | ✔ | ✔ | ✔ |
.NET | ✔ | ✔ | |||
Go | ✔ | ||||
Python | |||||
NodeJS | ✔ | ✔ | ✔ | ✔ | |
網頁伺服器 | ✔ | ||||
Java 原生映像 | |||||
PHP | ✔ | ✔ | ✔ |
如需使用網頁伺服器的相關資訊,請參閱 部署網路靜態檔案。
Tanzu Build Service 預設會在 Azure Spring 應用程式企業版中啟用。 如果您選擇停用建置服務,則可以部署應用程式,但只能使用自訂容器映像進行。 本節提供啟用和停用建置服務案例的指引。
支援的 APM 類型
本節列出您可以用於整合之 API 的支援語言和必要環境變數。
Application Insights
支援的語言:
- Java
組建套件繫結所需的環境變數:
connection-string
如需其他支援的環境變數,請參閱 Application Insights 概觀。
DynaTrace
支援的語言:
- Java
- .NET
- Go
- Node.js
- WebServers
- PHP
組建套件繫結所需的環境變數:
api-url
或environment-id
(用於建置步驟)api-token
(用於建置步驟)TENANT
TENANTTOKEN
CONNECTION_POINT
如需其他支援的環境變數,請參閱 Dynatrace
New Relic
支援的語言:
- Java
- .NET
- Node.js
- PHP
組建套件繫結所需的環境變數:
license_key
app_name
如需其他支援的環境變數,請參閱 New Relic
Elastic
支援的語言:
- Java
- Node.js
- PHP
組建套件繫結所需的環境變數:
service_name
application_packages
server_url
如需其他支援的環境變數,請參閱 Elastic
AppDynamics
支援的語言:
- Java
- Node.js
組建套件繫結所需的環境變數:
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 應用程式中設定 APM:
在服務執行個體層級上管理 APM 組態,並藉由參考它們來繫結至應用程式組建和部署。 此方法是設定 APM 的建議使用方式。
透過建立器中的繫結管理 APM 組態,並透過參考建立器繫結至應用程式組建和部署。
注意
這種方法是設定 APM 的舊方法,現在已取代。 建議您移轉在繫結中設定的 APM。 如需詳細資訊,請參閱 移轉在繫結中設定的 APM 一節。
您現在可以透過在服務執行個體層級上管理 APM 組態,並藉由參考它們來繫結至應用程式組建和部署,在 Azure Spring 應用程式中設定 APM。 此方法是設定 APM 的建議使用方式。
下列各節提供這些方法的指導。
在服務執行個體層級上管理 APM (推薦項目)
您可以建立 APM 組態並繫結至應用程式組建和部署,如下列各節之說明。
在 Azure Spring 應用程式中管理 APM 組態
您可以使用 Azure 入口網站或 Azure CLI,在 APM 組態中設定屬性或秘密,以管理 APM 整合。
注意
透過 APM 組態設定屬性或秘密時,請使用不含 APM 名稱的索引鍵名稱作為前置詞。 例如,請勿針對 Dynatrace 使用 DT_
前置詞或針對 Application Insights 使用 APPLICATIONINSIGHTS_
。 Tanzu APM 組建套件會將索引鍵名稱轉換成具有前置詞的原始環境變數名稱。
如果您想要覆寫或設定某些屬性或秘密,例如應用程式名稱或應用程式層級,則需要在使用 APM 名稱做為前置詞的原始環境變數部署應用程式時設定環境變數。
使用下列步驟來顯示、新增、編輯或刪除 APM 組態:
開啟 Azure 入口網站。
在功能窗格中,選取 APM。
若要建立 APM 組態,請選取 [新增]。 如果您要全域啟用 APM 組態,請選擇 [全域啟用]。 所有後續的組建和部署都會自動使用 APM 組態。
若要檢視或編輯 APM 組態,請選取組態的省略符號 (...) 按鈕,然後選取 [編輯 APM]。
若要刪除 APM 組態,請選取組態的省略符號 (...) 按鈕,然後選取 [刪除]。 如果任何組建或部署使用 APM 組態,您就無法將其刪除。
使用下列步驟來檢視繫結至組建的 APM 組態:
使用下列步驟檢視繫結至部署的 APM 組態:
如需組建套件 properties
和 secrets
參數的詳細資訊,請參閱 支援的案例 - 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 組態時,所有後續的組建和部署都會自動使用 APM 組態,因此不需要指定 --apms
參數。 如果您想要覆寫為部署而全域啟用的 APM 組態,請透過 --apms
參數指定 APM 組態。
對於使用您自己的容器登錄的建置服務,您可以將應用程式建置至容器映射,並將映像部署到目前或其他 Azure Spring 應用程式企業版服務執行個體。
提供您自己的容器登錄會分隔建置與部署。 您可以使用組建命令來建立或更新組建,然後使用部署命令來將容器映像部署至服務。
使用下列命令來建置映像並設定 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 組態時,所有後續的組建和部署都會自動使用 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 應用程式企業版的多個執行個體,其中某些執行個體會建置和部署映像,而其他則只會部署映像。 試想以下情況:
舉個例子,您可以使用使用者容器登錄以啟用建置服務。 然後,您可使用 APM 或 CA 憑證,從成品檔案或原始程式碼建置至容器映像。 然後,您可以部署到目前的 Azure Spring 應用程式執行個體或其他服務執行個體。 如需詳細資訊,請參閱 如何在 Azure Spring 應用程式企業版中部署 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 應用程式受控容器登錄,您可以將應用程式建置為映像,然後將其部署,但僅限於目前的 Azure Spring 應用程式服務執行個體內。
透過建立器中的繫結管理 APM 組態
您可以透過建立器中的繫結管理 APM 組態。 如需詳細資訊,請參閱 在 Azure Spring 應用程式 (已取代) 中管理建立器中的繫結 一節。
繫結至應用程式組建和部署
使用下列命令,將 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>
建立服務執行個體時啟用 Application Insights
如果您在建立服務執行個體時啟用 Application Insights,則適用下列條件:
- 如果您使用受控 Azure Container Registry 進行建置服務,Application Insights 會繫結至預設建立器中的繫結。
- 如果您針對建置服務使用自己的容器登錄,或停用建置服務,則會為 Application Insights 建立預設的 APM 組態。 預設會全域啟用 APM 組態,所有後續的組建和部署都會自動使用它。
設定應用程式組建和部署的 CA 憑證
您可以透過下列兩種方式在 Azure Spring 應用程式中設定 CA 憑證:
- 您可以在 TLS/SSL 設定中管理公用憑證,並藉由參考它們來繫結至應用程式組建和部署。 此方法是設定 CA 憑證的建議使用方式。
- 您可以在 TLS/SSL 設定中管理公用憑證,並透過建立器中的繫結來繫結 CA 憑證。 如需詳細資訊,請參閱 在 Azure Spring 應用程式 (已取代) 中管理建立器中的繫結 一節。
注意
這種方法是設定 CA 憑證的舊方法,且已被取代。 建議您移轉在繫結中設定的 CA 憑證。 如需詳細資訊,請參閱 移轉在繫結中設定的 CA 憑證 一節。
您現在可以在 TLS/SSL 設定中管理公用憑證,並藉由參考它們來繫結至應用程式組建和部署。 此方法是設定 CA 憑證的建議使用方式。
若要管理服務執行個體層級上的公用憑證,請參閱 在 Azure Spring 應用程式中的您的應用程式中使用 TLS/SSL 憑證 之 匯入憑證 一節。 然後,請遵循下列各節所述的其中一種方法,將 CA 憑證繫結至應用程式組建和部署。
將 CA 憑證繫結至應用程式組建和部署
如需如何將 CA 憑證繫結至部署的資訊,請參閱 在 Azure Spring 應用程式的您的應用程式中使用 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 憑證:
透過建立器中的繫結來繫結 CA 憑證 (已取代)
CA 憑證使用 ca-certificates 組建套件,以支援在建置和運行時間將 CA 憑證提供給系統信任存放區。
在 Azure Spring 應用程式企業版方案中,CA 憑證會使用 Azure 入口網站中 [TLS/SSL 設定] 頁面上的 [公開金鑰憑證] 索引標籤,如下列螢幕擷取畫面所示:
您可以在 [編輯繫結] 頁面上設定 CA 憑證。 succeeded
憑證會顯示在 CA 憑證清單中。
在 Azure Spring 應用程式中的建立器管理繫結 (已取代)
本節僅適用於已啟用建置服務的 Azure Spring 應用程式企業版服務執行個體。 啟用建置服務後,一個組建套件繫結表示針對一個 APM 類型的認證組態,或是針對 CA 憑證類型的 CA 憑證組態。 針對 APM 整合,請遵循先前的指示以設定 APM 的必要環境變數或秘密。
注意
設定 APM 繫結的環境變數時,請使用不含前置詞的索引鍵名稱。 例如,請勿針對 Dynatrace 繫結使用 DT_
前置詞,或針對 Application Insights 使用 APPLICATIONINSIGHTS_
。 Tanzu APM 組建套件會將索引鍵名稱轉換成具有前置詞的原始環境變數名稱。
您可以使用 Azure 入口網站或 Azure CLI 來管理 Buildpack 繫結。
請使用下列步驟檢視此組建套件繫結:
在 Azure 入口網站中,移至您的 Azure Spring 應用程式企業版服務執行個體。
在功能窗格中,選取 [建置服務]。
選取 [繫結] 欄位底下的 [編輯],以檢視為建立器設定的繫結。
檢閱 [編輯預設建立器繫結] 頁面上的繫結。
建立組建套件繫結
若要建立組建套件繫結,請選取 [編輯繫結] 頁面上的 [已解除繫結]、指定繫結屬性,然後選取 [儲存]。
解除繫結 Buildpack 繫結
您可以使用 [解除繫結] 命令,或編輯繫結屬性以對組建套件繫結解除繫結。
若要使用 [解除繫結] 命令,請選取 [已繫結] 超連結,然後選取 [解除繫結]。
若要透過編輯繫結屬性來對組建套件繫結解除繫結,請選取 [編輯繫結],然後選取 [解除繫結]。
如果您對某一個繫結解除繫結,則繫結狀態會從 [已繫結] 變更為 [已解除繫結]。
從建立器中的繫結移轉 APM 和 CA 憑證
已取代建立器中的繫結功能,未來將會移除。 建議您在建立器中移轉繫結。
您可以在繫結中設定 APM 和 CA 憑證,並使用下列各節來移轉它們。
移轉在繫結中設定的 APM
在大部分的使用案例中,預設建立器中的繫結中只會設定一個 APM。 您可以在繫結中使用相同的設定建立新的 APM 組態,並全域啟用此 APM 組態。 所有後續的組建和部署都會自動使用此組態。 使用下列步驟來移轉:
使用下列命令建立 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
使用下列命令全域啟用 APM 組態:
az spring apm enable-globally \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-APM-name> \
使用下列命令重新部署所有應用程式,以全域啟用新的 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>
確認新的 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 組態。 如果您想要覆寫全域啟用的 APM,請使用 --apms
參數指定部署的 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 憑證:
針對在繫結中設定的 CA 憑證,如果用於執行階段,您可將憑證載入您的應用程式。。 如需詳細資訊,請參閱 在 Azure Spring 應用程式的應用程式中使用 TLS/SSL 憑證 之 載入憑證 一節。
使用下列命令,使用 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>
確認 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>