Condividi tramite


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:

  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 la procedura seguente.

  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 di 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 Di 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 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