Surveillance d'historique à l'aide des mesures des appels WCF
La section Historique des appels WCF affiche les mesures d'historique relatives aux appels WCF transmis aux services WCF et WF de .NET Framework 4 gérés par AppFabric. Les mesures résumées Exécuté(s) et Erreurs affichent le total cumulé des succès et échecs suite aux appels WCF reçus. Vous pouvez développer la section Historique des appels WCF (en cliquant sur la flèche vers le bas ou n'importe où, à l'exception des liens de mesure résumée de la barre de titre Historique des appels WCF) pour afficher les cinq premiers services présentant des Appels ayant abouti ou des Exceptions de service. Cette action permet également d'afficher le nombre d'Erreurs – Regroupement par types courants. Ces valeurs résumées de niveau supérieur, et leurs vues détaillées affichées dans l'ordre décroissant, permettent de surveiller l'historique des appels WCF associés à vos services.
Mesures Historique des appels WCF
La section Historique des appels WCF du tableau de bord d'AppFabric fournit une vue résumée des appels du service WCF dans la zone d'en-tête ombrée sous l'intitulé Historique des appels WCF. Les mesures suivantes offrent un aperçu rapide des appels WCF ayant correctement abouti ou non :
La mesure résumée Exécuté(s) est le total cumulé des appels WCF reçus sans erreur ni exception, en produisant le type d'événement WCF OperationCompleted.
La mesure résumée Erreurs est le total cumulé qui représente toutes les exceptions associées à WCF et les erreurs définies par l'utilisateur qui surviennent dans la pile WCF entière. Ce nombre inclut notamment les erreurs résultant du nombre d'appels n'ayant pas abouti ou ayant généré une erreur.
La mesure Dépassements de limitation indique le nombre de périodes de limitation WCF rencontrées par l'un des services déployés dans l'étendue applicable. Une période de limitation commence lorsqu'un seuil de limitation WCF est dépassé. Elle se termine lorsque le débit descend en-dessous de 70 % du seuil de limitation.
Les mesures suivantes, qui apparaissent sous les mesures résumées, résument le nombre de services au sein de catégories d'appels spécifiques dans l'ordre décroissant :
Appels ayant abouti - Regroupement par service (5 premiers) : cinq premiers services présentant le plus grand nombre d'appels WCF ayant abouti lors de la période spécifiée.
Exceptions de service - Regroupement par service (5 premiers) : cinq premiers services présentant le plus grand nombre d'exceptions lors de la période spécifiée.
Erreurs – Regroupement par types courants : regroupement du nombre total d'exceptions de service ou d'erreurs définies par l'utilisateur. Le nombre d'exceptions de service est également décomposé selon les deux causes les plus courantes : appels n'ayant pas abouti ou ayant généré une erreur. Outre ces deux causes, les exceptions de service peuvent également être provoquées par des erreurs d'activation.
Seulement une partie des événements WCF suivis est incluse dans les colonnes Appels ayant abouti - Regroupement par service (5 premiers) et Exceptions de service - Regroupement par service (5 premiers) du tableau de bord. Les événements affichés dans ces colonnes n'incluent pas les événements émis par le service AppFabric interne qui gère les points de terminaison et les événements. Seuls les événements associés à un chemin d'accès virtuel au service complet sont affichés dans ces deux colonnes. Les événements générés plus haut dans la pile du canal WCF, tels que les rappels et les exceptions de service, ne contiennent pas de chemin d'accès virtuel au service complet. Ils sont donc exclus de ces compteurs. Ainsi, seuls les services utilisateur, et non les applications utilisateur, apparaissent dans ces valeurs de compteur.
Page Événements suivis
La page Événements suivis permet d'obtenir une vue historique des événements qui se sont produits au cours d'un ordre spécifique d'appels WCF pour une instance de service. Cliquez sur une des mesures résumées (par exemple, Exécuté(s)) ou un des liens de service sous une colonne de la section Historique des appels WCF (par exemple, Appels ayant abouti) pour accéder à la page Événements suivis.
Le lien sur lequel vous cliquez pour accéder de la page Tableau de bord d'AppFabric à la page Événements suivis filtre les données d'événement et d'appel WCF, de sorte que les éléments énumérés dans la page Événements suivis sont spécifiques au lien d'origine. Par exemple, cliquez sur un lien d'entrée de service de la colonne Exceptions de service - Regroupement par service (5 premiers) pour accéder à la page Événements suivis. Celle-ci répertorie les événements filtrés par le type d'événement de service (Exceptions WCF dans le cas présent) et l'heure d'émission qui correspond à la mesure et à la période sélectionnées dans le tableau de bord d'AppFabric.
Vous pouvez toutefois modifier la valeur d'un ou plusieurs champs (par exemple, Événements) dans la section Résumé de la requête pour modifier le résultat d'origine et procéder au dépannage d'un type d'événement spécifique. Par exemple, si la mesure d'origine via laquelle vous avez accédé à la page Événements suivis était Exceptions WCF, vous pouvez remplacer la valeur du champ Événements par Tous les événements WCF, puis cliquer sur Exécuter la requête pour afficher d'autres résultats.
Vous pouvez utiliser les options suivantes pour filtrer les types d'événements filtrés :
Tous les événements WCF : affiche tous les événements WCF disponibles dans le magasin de surveillance, notamment Appels WCF ayant abouti, Exceptions WCF, Appels WCF n'ayant pas abouti et Appels WCF ayant généré une erreur.
Appels WCF ayant abouti : affiche tous les appels WCF ayant abouti.
Toutes les erreurs WCF : affiche tous les événements émis au niveau Erreur : exceptions de service et erreurs définies par l'utilisateur.
Exceptions WCF : affiche toutes les exceptions de service WCF.
Erreurs définies par l'utilisateur WCF : affiche tous les événements définis par l'utilisateur émis au niveau Erreur.
Appels WCF n'ayant pas abouti : affiche tous les appels WCF n'ayant pas abouti.
Appels WCF ayant généré une erreur : affiche tous les appels WCF ayant généré une erreur.
Dépassements de limitation WCF : affiche tous les événements de limitation WCF. Chaque événement représente une période de limitation, et est émis lorsque le seuil de limitation WCF est dépassé pour la première fois.
Tous les événements WF : affiche tous les événements WF.
Pour plus d'informations, consultez la rubrique Page Événements suivis.
Dépannage via la surveillance des mesures de la section Historique des appels WCF
Vous pouvez associer les informations précédentes dans le cadre du dépannage en utilisant la section Historique des appels WCF pour surveiller les appels WCF vers les services .NET Framework. L'affichage initial de la section Historique des appels WCF offre une vue résumée de haut niveau de l'état des appels WCF. Les exceptions et les appels n'ayant pas abouti ou ayant généré une erreur permettent de déterminer rapidement l'existence d'un problème au niveau des appels WCF. Une valeur non nulle dans la mesure résumée Exceptions de service - Regroupement par service (5 premiers) ou Erreurs – Regroupement par types courants indique où se situe le problème éventuel. Toutes les mesures résumées sont liées à la page Événements suivis, dans laquelle vous pouvez voir des mesures détaillées explicites des données des appels WCF, résumées dans la page Tableau de bord d'AppFabric initiale au plus haut niveau. Ces données brutes donnent des informations supplémentaires dans le cadre de l'identification d'un problème lié aux appels WCF.
Prenons l'exemple d'un scénario dans lequel vous utilisez la section Historique des appels WCF pour surveiller les appels WCF de vos services WCF ou WF sur une étendue donnée et rechercher les problèmes éventuels. Si la valeur de la mesure résumée Exceptions contient une valeur non nulle, développez le widget pour afficher la décomposition des exceptions générées par les cinq premiers services. Ceci vous permet de vous concentrer sur les services présentant le plus grand nombre de problèmes potentiels. Vous pouvez ensuite vous intéresser à un service défaillant donné et spécifier les détails en accédant à la page d'énumération pour modifier les valeurs de la requête.
Supposons que la mesure résumée Erreurs du widget Historique des appels WCF contient une valeur non nulle indiquant que des erreurs se sont produites. Vous pouvez développer le widget Historique des appels WCF et examiner la colonne Exceptions de service - Regroupement par service (5 premiers) pour voir les cinq premiers services présentant le plus grand nombre d'exceptions lors de la période sélectionnée. Vous pouvez également consulter la colonne Erreurs – Regroupement par types courants pour afficher la décomposition des types d'erreurs : exceptions de service (provoquées le plus souvent par des appels n'ayant pas abouti ou ayant généré une erreur) ou erreurs définies par l'utilisateur. Pour obtenir plus d'informations sur les détails ou exceptions, cliquez sur l'un des liens de service pour accéder à la page Événements suivis.
Notes
Si le service X fait partie des cinq premiers services, il est affiché ici. Dans ce cas, vous pouvez cliquer sur le lien de service correspondant pour accéder à la page Événements suivis. Si le service X ne fait pas partie des cinq premiers services, vous pouvez cliquer sur l'une des mesures de la section pour accéder à la page Événements de suivi. Celle-ci permet de modifier la requête existante, c'est-à-dire ajouter la condition de nom de service appropriée.
La page Événements suivis inclut une vue historique des exceptions qui se sont produites sur l'étendue spécifique de la hiérarchie IIS X. Vous pouvez cliquer sur l'un des événements Exception WCF dans la liste figurant dans la page Événements suivis pour consulter les caractéristiques de cette exception dans le volet Détails situé en bas de la page. Celui-ci permet d'afficher des informations sur l'exception sous les onglets Vue d'ensemble, Variables suivies ou Erreurs. L'onglet Vue d'ensemble contient des informations générales sur l'événement, telles que E2EActivityID (utilisé dans le cadre de la corrélation du suivi de bout en bout), EventType, ExceptionTypeName, EventSourceId, etc. L'onglet Variables suivies affiche les valeurs des variables suivies de manière explicite stockées dans l'événement. L'onglet Erreurs contient des informations d'exception relatives à l'échec. Ces informations vous aideront à mieux comprendre et résoudre les exceptions WCF.
Si vous avez besoin d'informations supplémentaires sur l'exception WCF; vous pouvez cliquer avec le bouton droit sur l'événement dans la liste, puis cliquer sur Afficher l'instance WF suivie. Cette fonctionnalité est uniquement disponible pour les exceptions de service WCF émises par le service de flux de travail, où la page Instances WF suivies affiche les événements disponibles pour l'instance parente. Vous pouvez également sélectionner l'option Afficher tous les événements associés dans le menu contextuel d'un appel WCF. Cette action actualise la page Événements suivis et y affiche tous les événements associés à l'événement d'origine.
Notes
Pour utiliser l'option Afficher tous les événements associés, la surveillance de l'application doit être définie sur le niveau Surveillance de bout en bout ou un niveau supérieur. À ce niveau, l'infrastructure de surveillance collecte les événements de transfert qui associent deux ID d'activité de bout en bout (E2EActivityId).
Vous pouvez également consulter la colonne Exceptions de service - Regroupement par service (5 premiers) et voir le nombre d'Appels n'ayant pas abouti ou d'Appels ayant généré une erreur. Celui-ci contribue au nombre total d'Exceptions WCF, comme indiqué dans le volet Résumé de la section. Cliquez sur le lien correspondant pour accéder à la page Événements suivis. Selon le lien sur lequel vous cliquez, la liste qui s'affiche énumère les événements Appels WCF n'ayant pas abouti ou Appels WCF ayant généré une erreur. Comme décrit plus haut, si vous sélectionnez un des événements d'appel dans la liste, des informations supplémentaires s'affichent dans le volet Détails. Vous pouvez également cliquer avec le bouton droit, puis sélectionner l'option Afficher tous les événements associés ou Afficher l'instance WF suivie.
Pour plus d'informations sur l'obtention d'informations plus précises sur un événement suivi à des fins de résolution d'un problème, consultez la rubrique Page Événements suivis.
Affichage des informations d'erreur WCF
AppFabric affiche les informations d'erreur WCF uniquement lorsque le niveau de surveillance d'une application est configuré au minimum sur Surveillance de bout en bout. Ce niveau capture le flux de messages WCF entre les services, ainsi que la relation entre les événements WF et WCF. Pour les niveaux de surveillance situés sous Analyse du fonctionnement (inclus), les informations d'erreur WCF ne s'affichent pas dans les sections suivantes :
la colonne Erreurs ou Exceptions de service de la section Historique des appels WCF de la page Tableau de bord d'AppFabric Dashboard ;
l'onglet Erreurs du volet Détails dans la page Événements suivis ;
les sections de la page Événements suivis affichant les événements WCF comme résultat des critères de requête.
Par exemple, l'onglet Erreurs de la page Événements suivis utilise les événements de transfert WCF pour rassembler des informations d'exception à partir de l'événement d'exception Modèle de service qui correspond à un événement d'appel WCF n'ayant pas abouti ou ayant généré une erreur. Si l'application surveillée est configurée pour utiliser un niveau de surveillance sous le niveau Surveillance de bout en bout, les événements de transfert WCF ne sont pas capturés. Par conséquent, aucune valeur n'est affichée sous l'onglet Erreurs du volet Détails.
Si vous utilisez le niveau Surveillance de bout en bout pour capturer des événements de transfert et que vous ne souhaitez pas collecter d'autres événements WF, procédez comme suit :
Ouvrez le fichier de configuration racine du serveur disponible à l'emplacement suivant : C:\Windows\Microsoft.NET\Framework(64)\v4.0.xxx\CONFIG\Web.config.
Copiez dans le Presse-papiers le code compris entre les entrées
<trackingProfile name="HealthMonitoring Tracking Profile">
et</trackingProfile>
. En voici un exemple :<trackingProfile name="HealthMonitoring Tracking Profile"> <workflow activityDefinitionId="*"> <workflowInstanceQueries> <workflowInstanceQuery> <states> <state name="Started" /> <state name="Completed" /> <state name="Terminated" /> <state name="Canceled" /> <state name="Unsuspended" /> <state name="Persisted" /> <state name="Aborted" /> <state name="UnhandledException" /> </states> </workflowInstanceQuery> </workflowInstanceQueries> <activityStateQueries> <activityStateQuery activityName="*"> <states> <state name="Closed" /> </states> </activityStateQuery> </activityStateQueries> <faultPropagationQueries> <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" /> </faultPropagationQueries> <customTrackingQueries> <customTrackingQuery name="*" activityName="*" /> </customTrackingQueries> </workflow> </trackingProfile>
Modifiez le fichier Web.config de l'application. Vérifiez qu'il existe une imbrication d'éléments complète et valide
<system.serviceModel><tracking><profiles><trackingProfile>
dans laquelle le contenu de l'élément<trackingProfile>
sera copié dans les étapes suivantes.Au début de la section
<system.serviceModel><tracking><profiles>
, ajoutez<remove name=”EndToEndMonitoring Tracking Profile” />
.Dans la même section, sous la balise
remove
que vous venez d'ajouter, collez l'extrait de code copié dans le Presse-papiers à l'étape 2.Remplacez
HealthMonitoring Tracking Profile
parEndToEndMonitoring Tracking Profile
dans le fichier Web.config de l'application. Enregistrez le fichier et quittez l'éditeur.À l'aide du curseur de la boîte de dialogue Configurer WCF et WF pour l'application, définissez le Niveau de surveillance de l'application sur De bout en bout. AppFabric utilisera le modèle de suivi De bout en bout local du fichier Web.config de l'application, qui correspond au modèle de suivi du niveau Analyse du fonctionnement qui se présente comme une entrée de modèle de suivi Bout en bout.
Voir aussi
Référence
2011-12-05