Partager via


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

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.

Cet article s'applique à : ✔️ Consommation Standard et dédiée (Aperçu) ✔️ De base/Standard️ Entreprise ❌

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 le configurer à l’aide des variables d’environnement de l’agent Java de New Relic.

Portail Azure

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

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

    Capture d’écran du Portail Azure affichant la page Applications pour une instance Azure Spring Apps.

  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 les valeurs telles que les options JVM.

    Capture d’écran du Portail Azure montrant la page Configuration d’une application avec l’onglet Paramètres généraux sélectionné.

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

    Capture d’écran du Portail Azure montrant la page Configuration d’une application avec l’onglet Variables d’environnement sélectionné.

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

    Capture d’écran du tableau de bord New Relic montrant la page récapitulative de la passerelle d’API.

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

    Capture d’écran du tableau de bord New Relic montrant la page Services clients.

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

    Capture d’écran du tableau de bord New Relic montrant la page Service Map.

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

    Capture d’écran du tableau de bord New Relic montrant la page JVM.

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

    Capture d’écran du tableau de bord New Relic montrant la page Profil d’application.

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 avec les journaux des applications. 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, comme 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

L’agent Java New Relic met régulièrement à jour/à niveau le JDK. 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 ne sont pas modifié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