Partager via


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

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

  1. 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.

    Capture d’écran du portail Azure montrant le volet Journaux avec la page Requêtes ouverte et Exécuter mise en évidence.

  2. Modifiez la requête pour supprimer les clauses WHERE qui limitent l’affichage aux journaux d’avertissements et d’erreurs.

  3. 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.

    Capture d’écran du portail Azure montrant le résultat de la requête Log Analytics.

  4. 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

  1. 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.

    Capture d’écran du portail Azure montrant la page Métriques avec les filtres disponibles.

  2. 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.

    Capture d’écran du portail Azure montrant la page Métriques avec les options de filtre Propriété, Opérateur et Valeurs mises en évidence.

  3. 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.

    Capture d’écran du portail Azure montrant la page Métriques avec les options de division Valeurs, Limite et Trier mises en évidence.

Traçage distribué

  1. 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.

    Capture d’écran du portail Azure montrant la page Suivi distribué.

  2. Vous pouvez maintenant voir l’état des appels entre les applications.

    Capture d’écran du portail Azure montrant la page Cartographie d’application.

  3. 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.

    Capture d’écran du portail Azure montrant les détails de la cartographie d’application.

  4. Enfin, sélectionnez Examiner les performances pour explorer plus en détail l’analyse des performances intégrée.

    Capture d'écran du portail Azure montrant la page Performances.

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

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 :

Capture d’écran de la sortie du streaming de journaux Azure CLI.

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

  1. 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.

    Capture d’écran du portail Azure montrant la page Requêtes avec Exécuter mis en évidence.

  2. Vous voyez ensuite des journaux filtrés. Pour plus d’informations, voir Bien démarrer avec les requêtes de journal dans Azure Monitor.

    Capture d’écran du portail Azure montrant le résultat de la requête des journaux filtrés.

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.

Capture d’écran du portail Azure montrant la page Métriques d’Application Insights avec un graphique des valeurs sélectionnées.

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 :

Capture d’écran du portail Azure montrant la page Métriques d’Application Insights avec les métriques personnalisées.

Vous pouvez utiliser la fonctionnalité Test de disponibilité dans Application Insights et superviser la disponibilité des applications :

Capture d’écran du portail Azure montrant la page Disponibilité d’Application Insights avec la section Test de disponibilité mise en évidence.

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) :

Capture d’écran du portail Azure montrant des graphiques de latences faibles dans la page Métriques en temps réel d’Application Insights.

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 :

Capture d’écran du portail Azure montrant la page Cartographique d’application d’Application Insights avec des composants de cartographie.

Accédez à la page Performances :

Capture d’écran du portail Azure montrant la page Performances d’Application Insights avec le détail des opérations.

Accédez à l’onglet Dépendances, où vous pouvez consulter les chiffres de performances pour les dépendances, notamment les appels SQL :

Capture d’écran du portail Azure montrant la page Performances d’Application Insights avec le tableau des dépendances mis en évidence.

Sélectionnez un appel SQL pour voir la transaction de bout en bout en contexte :

Capture d’écran du portail Azure montrant la page détaillée Transaction de bout en bout.

Accédez à la page Défaillances et à l’onglet Exceptions, où vous pouvez voir un ensemble d’exceptions :

Capture d’écran du portail Azure montrant la page Défaillances d’Application Insights.

Sélectionnez une exception pour voir la transaction de bout en bout et la trace de la pile en contexte :

Capture d’écran du portail Azure montrant la page Transaction de bout en bout avec le détail des exceptions et la pile des appels.

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 :