Démarrage rapide : Monitoring d’Azure Spring Apps avec les journaux, les métriques et le suivi
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 à : ✔️ De base/Standard ❌ Entreprise
Avec les fonctionnalités de supervision intégrées d’Azure Spring Apps, vous pouvez déboguer et superviser des problèmes complexes. Azure Spring Apps intègre le suivi distribué de Steeltoe dans Application Insights. Cette intégration fournit des fonctionnalités puissantes en matière de journaux, de métriques et de suivi distribué, disponibles dans le portail Azure.
Les procédures suivantes expliquent comment utiliser le streaming de journaux, l’analytique des journaux, les métriques et le suivi distribué avec l’exemple d’application que vous avez déployé dans les guides de démarrage rapide précédents.
Prérequis
Suivez les guides de démarrage rapide précédents de cette série :
Journaux d’activité
Il existe deux façons de consulter les journaux sur Azure Spring Apps : Le streaming de journaux pour les journaux en temps réel par instance d’application ou Log Analytics pour les journaux agrégés avec fonction de requête avancée.
Diffusion de journaux
Vous pouvez utiliser le streaming de journaux dans Azure CLI avec la commande suivante.
az spring app logs --name solar-system-weather --follow
Une sortie similaire à l’exemple suivant s’affiche :
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
Conseil
Utilisez az spring app logs -h
pour explorer davantage de paramètres et de fonctionnalités de streaming de journaux.
Log Analytics
Dans le portail Azure, accédez à la page Service | Vue d’ensemble, puis sélectionnez Journaux dans la section Supervision. Sélectionnez Exécuter pour l’un des exemples de requête Azure Spring Apps.
Modifiez la requête pour supprimer les clauses WHERE qui limitent l’affichage aux journaux d’avertissements et d’erreurs.
Sélectionnez Exécuter. Des journaux s’affichent. Pour plus d’informations, voir Bien démarrer avec les requêtes de journal dans Azure Monitor.
Pour en savoir plus sur le langage de requête qui est utilisé dans Log Analytics, consultez Requêtes de journal Azure Monitor. Pour interroger tous vos journaux Log Analytics à partir d’un client centralisé, consultez Explorateur de données Azure.
Mesures
Dans le portail Azure, accédez à la page Service | Vue d’ensemble, puis sélectionnez Métriques dans la section Supervision. Ajoutez votre première métrique en sélectionnant l’une des métriques .NET sous Performance (.NET) ou Requête (.NET) dans la liste déroulante Métrique, puis Avg pour Agrégation pour afficher la chronologie de cette métrique.
Sélectionnez Ajouter un filtre dans la barre d’outils, puis sélectionnez
App=solar-system-weather
pour voir l’utilisation du processeur uniquement pour l’application solar-system-weather.Abandonnez le filtre créé à l’étape précédente, sélectionnez Appliquer la division, puis sélectionnez Application pourValeurs pour voir l’utilisation du processeur par les différentes applications.
Traçage distribué
Dans le portail Azure, accédez à la page Service | Vue d’ensemble, puis sélectionnez Suivi distribué dans la section Supervision. Ensuite, sélectionnez l’onglet Afficher la cartographie d’application sur la droite.
Vous pouvez maintenant voir l’état des appels entre les applications.
Sélectionnez le lien entre solar-system-weather et planet-weather-provider pour voir plus de détails, comme les appels les plus lents émis par les méthodes HTTP.
Enfin, sélectionnez Examiner les performances pour explorer plus en détail l’analyse des performances intégrée.
Avec les fonctionnalités de supervision intégrées d’Azure Spring Apps, vous pouvez déboguer et superviser des problèmes complexes. Azure Spring Apps intègre Spring Cloud Sleuth avec le service Application Insights d’Azure. Cette intégration fournit des fonctionnalités puissantes en matière de journaux, de métriques et de suivi distribué, disponibles dans le portail Azure. Les procédures suivantes expliquent comment utiliser le streaming de journaux, Log Analytics, les métriques et le suivi distribué avec les applications PetClinic déployées.
Prérequis
Suivez les guides de démarrage rapide précédents de cette série :
Journaux d’activité
Il existe deux façons de consulter les journaux sur Azure Spring Apps : Le streaming de journaux pour les journaux en temps réel par instance d’application ou Log Analytics pour les journaux agrégés avec fonction de requête avancée.
Diffusion de journaux
Vous pouvez utiliser le streaming de journaux dans Azure CLI avec la commande suivante.
az spring app logs \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name api-gateway \
--follow
Vous voyez des journaux semblables à ce qui suit :
Conseil
Utilisez az spring app logs -h
pour explorer davantage de paramètres et de fonctionnalités du streaming de journaux.
Pour en savoir plus sur le langage de requête qui est utilisé dans Log Analytics, consultez Requêtes de journal Azure Monitor. Pour interroger tous vos journaux Log Analytics à partir d’un client centralisé, consultez Explorateur de données Azure.
Log Analytics
Accédez à la page Service | Vue d’ensemble et sélectionnez Journaux dans la section Supervision. Sélectionnez Exécuter pour l’un des exemples de requête Azure Spring Apps.
Vous voyez ensuite des journaux filtrés. Pour plus d’informations, voir Bien démarrer avec les requêtes de journal dans Azure Monitor.
Métriques
Accédez à la page Application Insights, puis à la page Métriques. Vous pouvez voir les métriques fournies par les applications Spring Boot, les modules Spring et les dépendances.
Le graphique suivant montre gateway_requests
(passerelle Spring Cloud), hikaricp_connections
(connexions JDBC) et http_client_requests
.
Spring Boot inscrit plusieurs métriques principales, notamment JVM, l’UC, Tomcat et Logback. La configuration automatique de Spring Boot permet l’instrumentation de requêtes traitées par Spring MVC. Les trois contrôleurs REST (OwnerResource
, PetResource
et VisitResource
) ont été instrumentés par l’annotation Micrometer @Timed
au niveau de la classe.
Les métriques personnalisées suivantes sont activées pour l’application customers-service
:
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
Les métriques personnalisées suivantes sont activées pour l’application visits-service
:
- @Timed:
petclinic.visit
Vous pouvez consulter ces métriques personnalisées dans la page Métriques :
Vous pouvez utiliser la fonctionnalité Test de disponibilité dans Application Insights et superviser la disponibilité des applications :
Accédez à la page Métriques en temps réel pour consulter les métriques en temps réel avec des latences faibles (moins d’une seconde) :
Traçage
Ouvrez les insights d’application créés par Azure Spring Apps, puis commencez à monitorer les applications Spring.
Accédez à la page Cartographie d’application :
Accédez à la page Performances :
Accédez à l’onglet Dépendances, où vous pouvez consulter les chiffres de performances pour les dépendances, notamment les appels SQL :
Sélectionnez un appel SQL pour voir la transaction de bout en bout en contexte :
Accédez à la page Défaillances et à l’onglet Exceptions, où vous pouvez voir un ensemble d’exceptions :
Sélectionnez une exception pour voir la transaction de bout en bout et la trace de la pile en contexte :
Nettoyer les ressources
Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Quand vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui supprime également les ressources qu’il contient. Pour supprimer le groupe de ressources à l’aide d’Azure CLI, utilisez les commandes suivantes :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Dans un guide de démarrage rapide précédent, vous avez aussi défini le nom du groupe de ressources par défaut. Si vous ne prévoyez pas de passer au guide de démarrage rapide suivant, supprimez cette valeur par défaut en exécutant la commande CLI suivante :
az config set defaults.group=
Étapes suivantes
Pour explorer les autres fonctionnalités de supervision Azure Spring Apps, consultez :