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 :
Créez une instance Azure Spring Apps.
Créez une application.
az spring app create --name "appName" --is-public true \ -s "resourceName" -g "resourceGroupName"
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.
Dans votre instance Azure Spring Apps, sélectionnez Applications dans le volet de navigation.
Sélectionnez l’application dans la liste, puis sélectionnez Configuration dans le volet de navigation.
Utilisez l’onglet Paramètres généraux pour mettre à jour des valeurs telles que les options JVM.
Sélectionnez Variables d’environnement pour ajouter ou mettre à jour les variables utilisées par votre application.
Affichez la page de résumé de la passerelle/API d’application à partir du tableau de bord New Relic.
Affichez la page de résumé customers-service de l’application à partir du tableau de bord New Relic.
Affichez la page Service Map à partir du tableau de bord New Relic.
Affichez la page JVMS de l’application à partir du tableau de bord New Relic.
Affichez le profil d’application à partir du tableau de bord New Relic.
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.