Come monitorare le app Spring Boot con l'agente Java di New Relic

Note

I piani Basic, Standard ed Enterprise sono entrati in un periodo di ritiro il 17 marzo 2025. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Questo articolo riguarda:✅ 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 i passi seguenti per accedere all'agente:

  1. Creare un'istanza di Azure Spring Apps.

  2. Crea un'applicazione.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. 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 i passi seguenti.

  1. Nell'istanza di Azure Spring Apps selezionare App nel riquadro di spostamento.

    Screenshot del portale di Azure che mostra la pagina App per un'istanza di Azure Spring Apps.

  2. Selezionare l'applicazione dall'elenco e quindi selezionare Configurazione nel riquadro di spostamento.

  3. Usare la scheda Impostazioni generali per aggiornare i valori, ad esempio le opzioni JVM.

    Screenshot del portale di Azure che mostra la pagina Configurazione per un'app con la scheda Impostazioni generali selezionata.

  4. Selezionare Variabili di ambiente per aggiungere o aggiornare le variabili usate dall'applicazione.

    Screenshot del portale di Azure che mostra la pagina Configurazione per un'app con la scheda Variabili di ambiente selezionata.

  5. Visualizzare la pagina Riepilogo api/gateway dell'applicazione dal dashboard di New Relic.

    Screenshot del dashboard di New Relic che mostra la pagina di riepilogo del gateway API.

  6. Visualizzare la pagina Riepilogo dei clienti dell'applicazione dal dashboard di New Relic.

    Screenshot del dashboard di New Relic che mostra la pagina Servizio clienti.

  7. Visualizzare la pagina Mapping dei servizi dal dashboard di New Relic.

    Screenshot del dashboard di New Relic che mostra la pagina Mapping dei servizi.

  8. Visualizzare la pagina JVMs dell'applicazione dal dashboard di New Relic.

    Screenshot del dashboard di New Relic che mostra la pagina JVM.

  9. Visualizzare il profilo dell'applicazione dal dashboard di New Relic.

    Screenshot del dashboard di New Relic che mostra la pagina Profilo applicazione.

Automatizzare il provisioning

È anche possibile eseguire una pipeline di automazione del provisioning usando Terraform, Bicep o un modello di Azure Resource Manager (modello ARM). 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 Azure Spring Apps attiva.

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 template ARM, aggiungere il codice seguente al template, 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 log 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 mixati con i log dell'applicazione. È possibile trovare la versione esplicita dell'agente dai log applicazione.

È anche possibile ottenere i log dell'agente New Relic dalle posizioni seguenti:

  • Log di Azure Spring Apps
  • Application Insights per Azure Spring Apps
  • LogStream di Azure Spring Apps

È 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.

Note

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 per 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/upgrade di New Relic Java Agent

L'agente Java di New Relic aggiorna regolarmente JDK. L'aggiornamento/upgrade 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 successiva distribuzione per coinvolgere la nuova versione dell'agente Java di New Relic.
  • Le nuove applicazioni create dopo l'aggiornamento/upgrade 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 di injection rete virtuale 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