Come monitorare le app Spring Boot con l'agente Java di New Relic
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:✅ Utilizzo standard e dedicato (anteprima) ✅ Basic/Standard ❎ Enterprise
Questo articolo illustra come monitorare le applicazioni Spring Boot in Azure Spring Apps con l'agente Java di New Relic.
Con l'agente Java di New Relic è possibile:
- Usare l'agente Java di New Relic.
- Configurare l'agente Java di New Relic usando le variabili di ambiente.
- Controllare tutti i dati di monitoraggio dal dashboard di New Relic.
Il video seguente descrive come attivare e monitorare le applicazioni Spring Boot in Azure Spring Apps usando New Relic One.
Prerequisiti
Attivare New Relic Java nell'agente di elaborazione
Usare la procedura seguente per accedere all'agente:
Creare un'istanza di Azure Spring Apps.
Crea un'applicazione.
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --is-public true \
Creare una distribuzione con l'agente New Relic e le variabili di ambiente.
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 Apps preinstalla l'agente Java di New Relic in /opt/agents/newrelic/java/newrelic-agent.jar. I clienti possono attivare l'agente dalle opzioni JVM delle applicazioni e configurare l'agente usando le variabili di ambiente dell'agente Java di New Relic.
Portale di Azure
È anche possibile attivare questo agente dal portale di Azure con la procedura seguente.
Nell'istanza di Azure Spring Apps selezionare App nel riquadro di spostamento.
Selezionare l'applicazione dall'elenco e quindi selezionare Configurazione nel riquadro di spostamento.
Usare la scheda Impostazioni generali per aggiornare i valori, ad esempio le opzioni JVM.
Selezionare Variabili di ambiente per aggiungere o aggiornare le variabili usate dall'applicazione.
Visualizzare la pagina di riepilogo api/gateway dell'applicazione dal dashboard di New Relic.
Visualizzare la pagina Di riepilogo dei clienti dell'applicazione dal dashboard di New Relic.
Visualizzare la pagina Mapping dei servizi dal dashboard di New Relic.
Visualizzare la pagina JVMs dell'applicazione dal dashboard di New Relic.
Visualizzare il profilo dell'applicazione dal dashboard di New Relic.
Automatizzare il provisioning
È anche possibile eseguire una pipeline di automazione del provisioning usando Terraform, Bicep o un modello di Azure Resource Manager (modello di Resource Manager). Questa pipeline può offrire un'esperienza pratica completa per instrumentare e monitorare tutte le nuove applicazioni create e distribuite.
Automatizzare il provisioning con Terraform
Per configurare le variabili di ambiente in un modello Terraform, aggiungere il codice seguente al modello, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere Gestire una distribuzione di App Azure Spring attive.
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>"
}
}
Automatizzare il provisioning con un file Bicep
Per configurare le variabili di ambiente in un file Bicep, aggiungere il codice seguente al modello, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere 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',
...
}
Automatizzare il provisioning usando un modello di Resource Manager
Per configurare le variabili di ambiente in un modello di Resource Manager, aggiungere il codice seguente al modello, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere 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",
...
}
Inoltrare i log dell'applicazione a New Relic
L'agente New Relic può raccogliere i log delle applicazioni direttamente dalle app e inoltrarli a New Relic. Per altre informazioni, vedere Inoltrare i log a New Relic e ai log di APM nel contesto.
Visualizzare i log dell'agente Java di New Relic
Per impostazione predefinita, Azure Spring Apps stampa i log dell'agente Java di New Relic in STDOUT
. I log vengono misti con i log dell'applicazione. È possibile trovare la versione esplicita dell'agente dai log applicazioni.
È anche possibile ottenere i log dell'agente New Relic dalle posizioni seguenti:
- Log di Azure Spring Apps
- Azure Spring Apps Application Insights
- LogStream di App Spring di Azure
È possibile usare alcune variabili di ambiente fornite da New Relic per configurare la registrazione del nuovo agente, ad esempio, NEW_RELIC_LOG_LEVEL
per controllare il livello dei log. Per altre informazioni, vedere Configurazione della registrazione di New Relic.
Nota
Non usare finer
o finest
a meno che il supporto di New Relic non richieda di farlo. Questi livelli di registrazione possono generare un sovraccarico eccessivo. Per la maggior parte delle situazioni, usare info
.
Attenzione
È consigliabile non eseguire l'override del comportamento predefinito di registrazione fornito da Azure Spring Apps for New Relic. In tal caso, gli scenari di registrazione descritti in precedenza vengono bloccati e i file di log potrebbero andarsi persi. Ad esempio, non è consigliabile passare le variabili di ambiente seguenti alle applicazioni. I file di log possono essere persi dopo il riavvio o la ridistribuzione delle applicazioni.
- NEW_RELIC_LOG
- NEW_RELIC_LOG_FILE_PATH
Aggiornamento/aggiornamento di New Relic Java Agent
L'agente Java di New Relic aggiorna regolarmente JDK. L'aggiornamento/aggiornamento dell'agente può influire sugli scenari seguenti.
- Le applicazioni esistenti che usano l'agente Java New Relic prima dell'aggiornamento non vengono modificate.
- Le applicazioni esistenti che usano l'agente Java New Relic prima dell'aggiornamento richiedono il riavvio o la ridistribuimento per coinvolgere la nuova versione dell'agente Java di New Relic.
- Le nuove applicazioni create dopo l'aggiornamento/aggiornamento usano la nuova versione dell'agente Java di New Relic.
Configurazione del traffico in uscita dell'istanza di inserimento della rete virtuale
Per un'istanza vnet injection di Azure Spring Apps, è necessario assicurarsi che il traffico in uscita sia configurato correttamente per l'agente Java di New Relic. Per altre informazioni, vedere Reti di New Relic.
Passaggi successivi
Usare l'agente Java In-Process di Application Insights in Azure Spring Apps