Guide pratique pour le monitoring d’applications Spring Boot à l’aide de l’agent Java de New Relic (préversion)

Notes

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 (préversion) ✔️ Niveau ✔️ De base/Standard Niveau 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 Azure Spring Apps.

  2. Créez une application.

      az spring app create --name "appName" --is-public true \
      -s "resourceName" -g "resourceGroupName"
    
  3. Créez un déploiement avec l’agent New Relic et des variables d’environnement.

    az spring app deploy --name "appName" --jar-path app.jar \
       -s "resourceName" -g "resourceGroupName" \
       --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 avec 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 montrant la page Applications d’un 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 des valeurs telles que les options JVM.

    Capture d’écran du Portail Azure montrant la page Configuration d’une application dans un instance Azure Spring Apps, 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 dans un instance Azure Spring Apps, avec l’onglet Variables environnementales sélectionné.

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

    Page Résumé de l’application

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

    Page Customers-service

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

    Page Carte de service

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

    Page JVM

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

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

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 tirer parti de 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 en savoir plus, consultez Variables d’environnement New Relic.

Attention

Nous vous recommandons vivement de ne pas remplacer le comportement par défaut de journalisation fourni par Azure Spring Apps pour New Relic. Sinon, les scénarios de journalisation dans les scénarios ci-dessus seront bloqués et le ou les fichiers journaux pourront ê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 avoir un impact sur les scénarios suivants.

  • Les applications existantes qui utilisent l’agent Java New Relic avant la mise à jour/mise à niveau ne seront 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 utiliseront 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