附註
基本、標準和企業方案於 2025 年 3 月 17 日進入淘汰期。 如需詳細資訊,請參閱 Azure Spring 應用程式淘汰公告。
標準使用量和專用方案於 2024 年 9 月 30 日進入淘汰期,並在 2025 年 3 月底全面關閉。 如需詳細資訊,請參閱將 Azure Spring 應用程式標準使用量和專用方案移轉至 Azure 容器應用程式。
本文適用於:✅ 標準使用量和專用 (預覽) ✅ 基本/標準 ❎ 企業
本文說明如何使用 AppDynamics Java 代理程式來監視 Azure Spring Apps 中的 Spring Boot 應用程式。
使用 AppDynamics Java 代理程式,您可以:
- 監視應用程式
- 使用環境變數設定 AppDynamics Java 代理程式
- 檢查來自 AppDynamics 儀表板的所有監視資料
下列影片簡介 AppDynamics Java 內含式代理程式。
先決條件
啟用 AppDynamics JAVA 內含式代理程式
針對整個工作流程,您需要:
- 在 Azure Spring Apps 中啟動 AppDynamics Java 內含式代理程式,以產生應用程式計量資料。
- 將 AppDynamics 代理程式連線至 AppDynamics 控制器,以收集控制器中的資料並將其視覺化。
使用 Azure CLI 搭配 AppDynamics 代理程式來啟用應用程式
若要透過 Azure CLI 啟用應用程式,請使用下列步驟。
建立資源群組。
建立 Azure Spring Apps 的執行個體。
使用下列命令建立應用程式。 將預留位置
<...>
取代為您自己的值。az spring app create \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --is-public true
使用環境變數搭配 AppDynamics 代理程式來建立部署。
az spring app deploy \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \ --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \ APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \ APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \ APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \ APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \ APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \ APPDYNAMICS_CONTROLLER_PORT=443
Azure Spring Apps 會將 AppDynamics Java 代理程式預先安裝至路徑 /opt/agents/appdynamics/java/javaagent.jar。 您可以從應用程式的 JVM 選項啟動代理程式,然後使用環境變數設定代理程式。 您可以在 使用 Java 代理程式監視 Azure Spring Apps 中尋找這些變數的值。 如需這些變數如何協助在 AppDynamics UI 中檢視和組織報告的詳細資訊,請參閱階層和節點。
使用 Azure 入口網站搭配 AppDynamics 代理程式來啟用應用程式
若要透過 Azure 入口網站啟用應用程式,請使用下列步驟。
在 Azure 入口網站中,瀏覽至您的 Azure Spring Apps 執行個體。
在瀏覽窗格的 [設定] 區段中,選取 [應用程式]。
選取應用程式,然後在瀏覽窗格中選取 [設定]。
使用 [一般設定] 索引標籤來更新 JVM 選項等值。
選取 [環境變數],以新增或更新應用程式所使用的變數。
自動化佈建
您也可以使用 Terraform、Bicep 或 Azure Resource Manager 範本 (ARM 範本) 執行佈建自動化管線。 此管線可針對檢測和監視您建立和部署的任何新應用程式,提供完全無需操作的體驗。
使用 Terraform 將佈建自動化
若要設定 Terraform 範本中的環境變數,請將下列程式碼新增至範本,並將 <...>
預留位置取代為您自己的值。 如需詳細資訊,請參閱管理作用中的 Azure Spring Apps 部署 (英文)。
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:/opt/agents/appdynamics/java/javaagent.jar"
...
environment_variables = {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
}
}
使用 Bicep 自動化佈建
如要在 Bicep 檔案中設定環境變數,請將下列程式碼新增至檔案,並將 <...>
預留位置取代為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments。
deploymentSettings: {
environmentVariables: {
APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
APPDYNAMICS_CONTROLLER_PORT : '443'
}
jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}
使用 ARM 範本將佈建自動化
若要在 ARM 範本中設定環境變數,請將下列程式碼新增至範本,並將 <...>
預留位置取代為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments。
"deploymentSettings": {
"environmentVariables": {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
},
"jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
...
}
檢閱 AppDynamics 儀表板中的報告
本節顯示 AppDynamics 中的各種報告。
下列螢幕擷取畫面顯示 AppDynamics 儀表板中應用程式的概觀:
[應用程式] 索引標籤會顯示每個應用程式的整體資訊,如下列使用範例應用程式的螢幕擷取畫面所示:
下列螢幕擷取畫面說明如何從 [資料庫呼叫] 儀表板取得基本資訊。
您也可以取得最慢資料庫呼叫的相關資訊,如下列螢幕擷取畫面所示:
下列螢幕擷取畫面顯示 [記憶體] 頁面 [堆積] 區段中的記憶體使用量分析:
您也可以看到記憶體回收流程,如下列螢幕擷取畫面所示:
下列螢幕擷取畫面會顯示 [慢速交易] 頁面:
您可以針對 JVM 定義更多計量,如 [計量瀏覽器] 的此螢幕擷取畫面所示:
檢視 AppDynamics 代理程式記錄
依預設,Azure Spring Apps 會將 AppDynamics 代理程式的 info
層級記錄列印至 STDOUT
。 記錄會與應用程式記錄混合。 您可以從應用程式記錄中找到明確的代理程式版本。
您也可以從下列位置取得 AppDynamics 代理程式的記錄:
- Azure Spring Apps 記錄
- Azure Spring Apps Application Insights
- Azure Spring Apps LogStream
了解 AppDynamics 代理程式升級
AppDynamics 代理程式會定期使用 JDK 進行升級 (每季)。 代理程式升級可能會影響下列案例:
- 升級前使用 AppDynamics 代理程式的現有應用程式會保持不變,但需要重新啟動或重新部署,才能與新版本的 AppDynamics 代理程式互動。
- 升級後建立的應用程式會使用新版本的 AppDynamics 代理程式。
設定虛擬網路插入執行個體輸出流量
對於 Azure Spring 應用程式的虛擬網路插入執行個體,請確定已為 AppDynamics 代理程式正確設定輸出流量。 如需詳細資料,請參閱 Cisco AppDynamics SaaS 網域和 IP 範圍和在虛擬網路中執行 Azure Spring 應用程式的客戶責任。
了解限制
若要了解 AppDynamics 代理程式的限制,請參閱使用 Java 代理程式監視 Azure Spring Apps。
後續步驟
在 Azure Spring Apps 中使用 Application Insights Java In-Process 代理程式