Guide pratique pour le monitoring d’applications Spring Boot à l’aide de l’agent Java de New Relic

Remarque

Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.

Cet article s’applique à : ✔️ Consommation standard et dédié (préversion) ✔️ De base/Standard ❌ Enterprise

Cet article vous montre comment surveiller les applications Spring Boot dans Azure Spring Apps avec l’agent Java New Relic.

Avec l’agent Java New Relic, vous pouvez :

  • Consommer l’agent Java New Relic.
  • Configurer l’agent Java New Relic à l’aide de variables d’environnement.
  • Vérifier toutes les données de surveillance à partir du tableau de bord New Relic.

La vidéo suivante décrit comment activer et surveiller les applications Spring Boot dans Azure Spring Apps à l’aide de New Relic One.


Prérequis

Activer l’agent In-process Java de New Relic

Utilisez la procédure suivante pour accéder à l’agent :

  1. Créez une instance d’Azure Spring Apps.

  2. Créez une application.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Créez un déploiement avec l’agent New Relic et des variables d’environnement.

    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 préinstalle l’agent Java New Relic sur /opt/agents/newrelic/java/newrelic-agent.jar. Les clients peuvent activer l’agent à partir des options JVM des applications et configurer l’agent à l’aide des variables d’environnement de l’agent Java New Relic.

Portail Azure

Vous pouvez également activer cet agent à partir du Portail Azure avec la procédure suivante.

  1. Dans votre instance Azure Spring Apps, sélectionnez Applications dans le volet de navigation.

    Screenshot of the Azure portal showing the Apps page for an Azure Spring Apps instance.

  2. Sélectionnez l’application dans la liste, puis sélectionnez Configuration dans le volet de navigation.

  3. Utilisez l’onglet Paramètres généraux pour mettre à jour des valeurs telles que les options JVM.

    Screenshot of the Azure portal showing the Configuration page for an app with the General settings tab selected.

  4. Sélectionnez Variables d’environnement pour ajouter ou mettre à jour les variables utilisées par votre application.

    Screenshot of the Azure portal showing the Configuration page for an app with the Environment variables tab selected.

  5. Affichez la page Résumé de l’API/passerelle d’application à partir du tableau de bord New Relic.

    Screenshot of the New Relic dashboard showing the API Gateway summary page.

  6. Affichez la page de résumé customers-service de l’application à partir du tableau de bord New Relic.

    Screenshot of the New Relic dashboard showing the Customers Service page.

  7. Affichez la page Service Map à partir du tableau de bord New Relic.

    Screenshot of the New Relic dashboard showing the Service Map page.

  8. Affichez la page JVMS de l’application à partir du tableau de bord New Relic.

    Screenshot of the New Relic dashboard showing the JVM page.

  9. Affichez le profil d’application à partir du tableau de bord New Relic.

    Screenshot of the New Relic dashboard showing the Application Profile page.

Automatiser le provisionnement

Vous pouvez également exécuter un pipeline d’automatisation du provisionnement à l’aide de Terraform, Bicep ou d’un modèle Azure Resource Manager (modèle ARM). Ce pipeline peut fournir une expérience pratique complète pour instrumenter et surveiller les nouvelles applications que vous créez et déployez.

Automatiser le provisionnement à l’aide de Terraform

Pour configurer les variables d’environnement dans un modèle Terraform, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Gérer un déploiement Azure Spring Apps actif.

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>"
  }
}

Automatiser l’approvisionnement à l’aide d’un fichier Bicep

Pour configurer les variables d’environnement dans un fichier Bicep, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Microsoft.AppPlatform Spring/apps/déploiements.

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',
  ...
}

Automatiser le provisionnement à l’aide d’un modèle ARM

Pour configurer les variables d’environnement dans un modèle ARM, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Microsoft.AppPlatform Spring/apps/déploiements.

"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",
  ...
}

Transférer les journaux d’application vers New Relic

L’agent New Relic peut collecter les journaux d’application directement à partir de vos applications et les transférer à New Relic. Pour plus d’informations, consultez Transférer vos journaux vers les journaux New Relic et APM dans le contexte.

Voir les journaux de l’agent Java de New Relic

Par défaut, Azure Spring Apps imprime les journaux de l’agent Java New Relic dans STDOUT. Les journaux sont mélangés aux journaux d’activité de l’application. Vous pouvez récupérer la version d’agent explicite à partir des journaux des applications.

Vous pouvez également obtenir les journaux de l’agent de New Relic aux emplacements suivants :

  • Journaux Azure Spring Apps
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

Vous pouvez utiliser certaines variables d’environnement fournies par New Relic pour configurer la journalisation du nouvel agent, par exemple, NEW_RELIC_LOG_LEVEL pour contrôler le niveau des journaux. Pour plus d’informations, consultez la configuration de la journalisation New Relic.

Remarque

N’utilisez finer pas ou finest , sauf si le support New Relic vous demande de le faire. Ces niveaux de journalisation peuvent générer une surcharge excessive. Pour la plupart des situations, utilisez info.

Attention

Nous vous recommandons vivement de ne pas remplacer le comportement par défaut de journalisation fourni par Azure Spring Apps pour New Relic. Si vous le faites, les scénarios de journalisation décrits précédemment sont bloqués et les fichiers journaux peuvent être perdus. Par exemple, vous ne devez pas transmettre les variables d’environnement suivantes à vos applications. Les fichiers journaux peuvent être perdus après le redémarrage ou le redéploiement des applications.

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Mise à jour/mise à niveau de l’agent Java New Relic

Mise à jour/mise à niveau régulière de l’agent Java New Relic. La mise à jour/mise à niveau de l’agent peut affecter les scénarios suivants.

  • Les applications existantes qui utilisent l’agent Java New Relic avant la mise à jour/mise à niveau sont inchangées.
  • Les applications existantes qui utilisent l’agent Java New Relic avant la mise à jour/mise à niveau nécessitent un redémarrage ou un redéploiement pour impliquer la nouvelle version de l’agent Java New Relic.
  • Les nouvelles applications créées après la mise à jour/mise à niveau utilisent la nouvelle version de l’agent Java New Relic.

Configuration du trafic sortant de l’instance d’injection dans le réseau virtuel

Pour une instance d’injection dans le réseau virtuel Azure Spring Apps, vous devez vous assurer que le trafic sortant est correctement configuré pour l’agent Java New Relic. Pour plus d’informations, consultez la rubrique Réseaux de New Relic.

Étapes suivantes

Utiliser l’agent In-process Java d’Application Insights dans Azure Spring Apps