附註
基本、標準和企業方案於 2025 年 3 月 17 日進入淘汰期。 如需詳細資訊,請參閱 Azure Spring 應用程式淘汰公告。
本文適用於:✅ 基本/標準 ❎ Enterprise
本文說明如何使用 New Relic JAVA 代理程式監視 Azure Spring Apps 中的 Spring Boot 應用程式。
使用 New Relic JAVA 代理程式,您可以:
- 使用 New Relic JAVA 代理程式。
- 使用環境變數設定 New Relic JAVA 代理程式。
- 檢查 New Relic 儀表板中的所有監視資料。
下列影片說明如何使用 New Relic One 在 Azure Spring Apps 中啟動和監視 Spring Boot 應用程式。
先決條件
啟動 New Relic JAVA 內含式代理程式
使用下列程序來存取代理程式:
建立 Azure Spring Apps 的執行個體。
建立應用程式。
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --is-public true \使用 New Relic 代理程式和環境變數建立部署。
az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \ --env NEW_RELIC_APP_NAME=appName \ NEW_RELIC_LICENSE_KEY=newRelicLicenseKey
Azure Spring 應用程式會將 New Relic JAVA 代理程式預先安裝至 /opt/agents/newrelic/java/newrelic-agent.jar。 客戶可以從應用程式的 JVM 選項啟動代理程式,以及使用 New Relic JAVA 代理程式環境變數 (英文) 來設定代理程式。
Azure 入口網站
您也可以使用下列程序,從 Azure 入口網站啟動此代理程式。
在您的 Azure Spring 應用程式執行個體中,選取瀏覽窗格中的 [應用程式]。
從清單中選取應用程式,然後在瀏覽窗格中選取 [設定]。
使用 [一般設定] 索引標籤來更新 JVM 選項等值。
選取 [環境變數],以新增或更新應用程式所使用的變數。
從 New Relic 儀表板檢視應用程式 API/閘道 [摘要] 頁面。
從 New Relic 儀表板檢視應用程式客戶服務 [摘要] 頁面。
從 New Relic 儀表板檢視 [服務對應] 頁面。
從 New Relic 儀表板檢視應用程式的 [JVM] 頁面。
從 New Relic 儀表板檢視應用程式設定檔。
自動化佈建
您也可以使用 Terraform、Bicep 或 Azure Resource Manager 範本 (ARM 範本) 執行佈建自動化管線。 此管線可針對檢測和監視您建立和部署的任何新應用程式,提供完全無需操作的體驗。
使用 Terraform 將佈建自動化
若要在 Terraform 範本中設定環境變數,請將下列程式碼新增至範本,並將預留位置取代 <...> 為您自己的值。 如需詳細資訊,請參閱管理作用中的 Azure Spring Apps 部署 (英文)。
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar"
...
environment_variables = {
"NEW_RELIC_APP_NAME": "<app-name>",
"NEW_RELIC_LICENSE_KEY": "<new-relic-license-key>"
}
}
使用 Bicep 檔案將佈建自動化
若要在 Bicep 檔案中設定環境變數,請將下列程式碼新增至範本,並將預留位置取代 <...> 為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments。
deploymentSettings: {
environmentVariables: {
NEW_RELIC_APP_NAME : '<app-name>',
NEW_RELIC_LICENSE_KEY : '<new-relic-license-key>'
},
jvmOptions: '-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar',
...
}
使用 ARM 範本將佈建自動化
若要在 ARM 範本中設定環境變數,請將下列程式碼新增至範本,並將預留位置取代 <...> 為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments。
"deploymentSettings": {
"environmentVariables": {
"NEW_RELIC_APP_NAME" : "<app-name>",
"NEW_RELIC_LICENSE_KEY" : "<new-relic-license-key>"
},
"jvmOptions": "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar",
...
}
將應用程式記錄轉送至 New Relic
New Relic 代理程式可以直接從您的應用程式收集應用程式記錄,並將其轉送至 New Relic。 如需詳細資訊,請參閱將記錄轉送至 New Relic (英文) 及 APM 情境化記錄 (英文)
檢視 New Relic JAVA 代理程式記錄
根據預設,Azure Spring 應用程式會將 New Relic JAVA 代理程式的記錄列印至 STDOUT。 記錄會與應用程式記錄混合。 您可以從應用程式記錄中找到明確的代理程式版本。
您也可以從下列位置取得 New Relic 代理程式的記錄:
- Azure Spring Apps 記錄
- Azure Spring Apps 應用程式深入解析
- Azure Spring Apps LogStream
您可以使用 New Relic 所提供的一些環境變數來設定新代理程式的記錄,例如使用 NEW_RELIC_LOG_LEVEL 來控制記錄層級。 如需詳細資訊,請參閱 New Relic 記錄設定 (英文)。
附註
NOT請勿使用 finer 或 finest,除非 New Relic 客戶支援要求您這麼做。 這些記錄層級可能會產生過多的額外負荷。 在大部分情況下,請使用 info。
注意
強烈建議您不要覆寫 Azure Spring 應用程式為 New Relic 提供的記錄預設行為。 如果您這樣做,前述的記錄案例將會遭到封鎖,且記錄檔可能會遺失。 例如,您不應該將下列環境變數傳遞至您的應用程式。 重新啟動或重新部署應用程式之後,記錄檔可能會遺失。
- NEW_RELIC_LOG
- NEW_RELIC_LOG_FILE_PATH
New Relic JAVA 代理程式更新/升級
New Relic JAVA 代理程式會定期更新/升級 JDK。 代理程式更新/升級可能會影響下列案例。
- 在更新/升級之前,使用 New Relic JAVA 代理程式的現有應用程式會保持不變。
- 在更新/升級之前使用 New Relic JAVA 代理程式的現有應用程式需要重新啟動或重新部署,才能與新版本的 New Relic JAVA 代理程式互動。
- 更新/升級之後建立的新應用程式會使用新版本的 New Relic JAVA 代理程式。
Vnet 插入執行個體輸出流量設定
針對 Azure Spring Apps 的 vnet 插入執行個體,您必須確定已針對 New Relic JAVA 代理程式正確設定輸出流量。 如需詳細資訊,請參閱 New Relic 的網路。
後續步驟
在 Azure Spring Apps 中使用 Application Insights Java In-Process 代理程式