Diagnostiquer des scénarios courants avec Service Fabric
Cet article décrit les scénarios courants que les utilisateurs ont rencontrés dans le domaine du monitoring et des diagnostics avec Service Fabric. Les scénarios présentés couvrent les trois couches de Service Fabric : Application, Cluster et Infrastructure. Chaque solution utilise Application Insights et les journaux Azure Monitor, ainsi que des outils de monitoring Azure, pour chaque scénario. Les étapes de chaque solution offrent aux utilisateurs une introduction à l’utilisation d’Application Insights et de journaux Azure Monitor dans le contexte de Service Fabric.
Prérequis et recommandations
Les solutions de cet article utilisent les outils suivants. Nous vous recommandons de les installer et de les configurer :
- Application Insights avec Service Fabric
- Activer Diagnostics Azure sur votre cluster
- Configurer un espace de travail Log Analytics
- Agent Log Analytics pour suivre les compteurs de performances
Comment voir les exceptions non gérées dans mon application ?
Accédez à votre ressource Application Insights avec laquelle est configurée votre application.
Sélectionnez Rechercher en haut à gauche. Sélectionnez ensuite Filtres dans le panneau suivant.
Vous voyez un grand nombre de types d’événements (traces, demandes, événements personnalisés). Choisissez « Exception » comme filtre.
En cliquant sur une exception dans la liste, vous pouvez consulter plus de détails, notamment le contexte du service, si vous utilisez le kit SDK Service Fabric Application Insights.
Comment voir les appels HTTP qui ont été utilisés dans mes services ?
Dans la même ressource Application Insights, vous pouvez filtrer sur « demandes » au lieu des exceptions et voir ainsi toutes les demandes effectuées.
Si vous utilisez le kit SDK Service Fabric Application Insights, vous pouvez voir une représentation visuelle de vos services connectés les uns aux autres ainsi que le nombre de requêtes réussies et non réussies. Sur la gauche, sélectionnez « Cartographie d’application »
Pour plus d’informations sur la cartographie d’application, consultez la documentation sur la cartographie d’application.
Comment créer une alerte quand un nœud est en baisse ?
Les événements de nœud sont suivis par votre cluster Service Fabric. Accédez à la ressource de la solution Service Fabric Analytics nommée ServiceFabric(NameofResourceGroup).
Sélectionnez le graphe au bas du panneau intitulé « Résumé »
Ici, vous avez un grand nombre de graphes et de vignettes affichant diverses métriques. Sélectionnez l’un des graphes pour être dirigé vers la Recherche dans les journaux. Ici, vous pouvez créer des requêtes sur des événements de cluster ou des compteurs de performances.
Entrez la requête suivante. Ces ID d’événement se trouvent dans la référence des événements de nœud
ServiceFabricOperationalEvent | where EventID >= 25622 and EventID <= 25626
Sélectionnez « Nouvelle règle d’alerte » en haut. Désormais, chaque fois qu’un événement basé sur cette requête se produit, vous recevez une alerte dans le mode de communication de votre choix.
Comment être averti de restaurations de mise à niveau d’application ?
Dans la même fenêtre Recherche dans les journaux qu’auparavant, entrez la requête suivante pour les restaurations de mise à niveau. Ces ID d’événements se trouvent sous la référence des événements d’application
ServiceFabricOperationalEvent | where EventID == 29623 or EventID == 29624
Sélectionnez « Nouvelle règle d’alerte » en haut. Désormais, chaque fois qu’un événement basé sur cette requête se produit, vous recevez une alerte.
Comment voir les métriques de conteneur ?
Dans la même vue où se trouvent tous les graphes, vous pouvez voir des vignettes relatives aux performances de vos conteneurs. Vous avez besoin de l’Agent Log Analytics et de la solution de supervision de conteneurs pour que ces vignettes soient renseignées.
Notes
Pour utiliser les données de télémétrie à l’intérieur de votre conteneur, vous devez ajouter le package nuget Application Insights pour les conteneurs.
Comment suivre les compteurs de performances ?
Une fois que vous avez ajouté l’Agent Log Analytics à votre cluster, vous devez ajouter les compteurs de performances spécifiques que vous voulez suivre. Accédez à la page de l’espace de travail Log Analytics dans le portail. Dans la page de la solution, l’onglet de l’espace de travail se trouve dans le menu de gauche.
Une fois que vous êtes dans la page de l’espace de travail, sélectionnez « Paramètres avancés » dans le même menu de gauche.
Sélectionnez Données > Compteurs de performances Windows (Données > Compteurs de performances Linux pour les machines Linux) afin de démarrer la collecte des compteurs spécifiques de vos nœuds via l’agent Log Analytics. Voici des exemples du format des compteurs à ajouter
.NET CLR Memory(<ProcessNameHere>)\\# Total committed Bytes
Processor(_Total)\\% Processor Time
Dans le guide de démarrage rapide, VotingData et VotingWeb sont les noms des processus utilisés ; voici à quoi devrait ressembler le suivi de ces compteurs
.NET CLR Memory(VotingData)\\# Total committed Bytes
.NET CLR Memory(VotingWeb)\\# Total committed Bytes
Cela vous permet de voir comment votre infrastructure gère vos charges de travail, et de définir des alertes pertinentes en fonction de l’utilisation des ressources. Par exemple, vous pouvez être amené à définir une alerte si l’utilisation totale du processeur est supérieure à 90 %, ou inférieure à 5 %. Le nom de compteur que vous utiliseriez pour cela serait « % temps processeur ». Vous pourriez alors créer une règle d’alerte pour la requête suivante :
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | where CounterValue >= 90 or CounterValue <= 5.
Comment suivre les performances de mes événements Reliable Services et Actors ?
Pour le suivi des performances des événements Reliable Services ou Actors dans vos applications, vous devez aussi collecter les compteurs Service Fabric Actor, Actor Method, Service et Service Method. Voici des exemples de compteurs de performances des services et des acteurs fiables à collecter
Notes
Pour le moment, l’agent Log Analytics ne peut pas collecter les compteurs de performance de Service Fabric. Cependant, ces derniers peuvent être collectés par d’autres solutions de diagnostic
Service Fabric Service(*)\\Average milliseconds per request
Service Fabric Service Method(*)\\Invocations/Sec
Service Fabric Actor(*)\\Average milliseconds per request
Service Fabric Actor Method(*)\\Invocations/Sec
Consultez ces liens pour obtenir la liste complète des compteurs de performances sur Reliable Services et Actors
Étapes suivantes
- Rechercher des erreurs d’activation du package de code commun
- Configurer des alertes dans AI pour être averti des changements de performances ou d’utilisation
- La détection intelligente dans Application Insights effectue une analyse proactive de la télémétrie envoyée à AI pour vous avertir d’éventuels problèmes de performances
- Découvrez plus en détail la création d’alertes dans les journaux Azure Monitor pour faciliter la détection et les diagnostics.
- Pour les clusters locaux, les journaux Azure Monitor proposent une passerelle (proxy de transfert HTTP) qui peut être utilisée pour envoyer des données aux journaux Azure Monitor. Pour plus d’informations à ce sujet, consultez Connexion d’ordinateurs aux journaux Azure Monitor sans accès Internet à l’aide de la passerelle Log Analytics
- Familiarisez-vous avec les fonctionnalités de requête et de recherche dans les journaux proposées par Journaux Azure Monitor
- Pour obtenir une vue d’ensemble détaillée des journaux Azure Monitor et de ce qu’ils proposent, lisez Présentation de Journaux Azure Monitor