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 :
Créez une instance d’Azure Spring Apps.
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 \
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.
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 Résumé de l’API/passerelle 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",
...
}
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