Lire en anglais

Partager via


Traçage

Le traçage utilise Event Tracing for Windows (ETW). Pour profiter des outils de traçage disponibles avec Windows Server 2008 R2, installez le SDK Microsoft Windows.

Il existe trois niveaux de traçage pris en charge :

  • Verbose (toutes les traces disponibles).
  • Info (traces d’information).
  • Error (traces d’erreur).

Les événements suivants sont tracés :

  • Toutes les erreurs (Level=Error, Level=Info ou Level=Verbose).
  • Entrée/Sortie d’une API (Level=Info ou Level=Verbose).
  • Début et fin de toute opération d’E/S (Level=Info ou Level=Verbose).
  • Messages SOAP échangés (Level=Verbose, disponible sur Windows 2003 SP1 et les versions ultérieures).

Génération et visualisation des traces WWSAPI.

WWSAPI utilise les événements basés sur le manifeste sous Windows Vista et les versions ultérieures. En conséquence, l’expérience de traçage présente certaines différences selon la version du système d’exploitation. La génération de traces ETW peut être effectuée en utilisant les outils ETW intégrés sur toutes les plateformes prises en charge. Cependant, pour visualiser les traces ETW dans un format agréable, des outils personnalisés sont nécessaires sous Windows XP SP2 et Windows 2003 SP1. Il existe plusieurs façons de collecter et de visualiser les traces d’événements ETW WWSAPI selon la version du système d’exploitation.

Activation et visualisation des traces WWSAPI dans l’Observateur d’événements (fonctionne sous Windows Vista et les versions ultérieures).

  • Exécutez eventvwr.msc à partir de la ligne de commande ou du menu Exécuter.
  • Cliquez sur le lien d’affichage dans le volet Actions à droite et activez l’option Afficher les journaux analytiques et de débogage.
  • Parcourez Journaux des applications et services\Microsoft\Windows\Fournisseurs de services Web dans le volet de gauche.
  • Faites un clic droit sur le fournisseur de traçage et sélectionnez Activer le journal.
  • Exécutez votre scénario.
  • Lorsque vous actualisez la page de l’Observateur d’événements, vous devriez commencer à voir les entrées de traçage WWSAPI.

Activation et visualisation des traces WWSAPI à l’aide du script Wstrace.bat (fonctionne sous XP SP2 et les versions ultérieures).

Le fichier batch wstrace.bat offre un moyen pratique de :

  • Créer un journal de traces.
  • Supprimer un journal de traces.
  • Activer et désactiver le traçage.
  • Mettre à jour le niveau de traçage (info/erreur/verbose).
  • Convertir les journaux de traces en fichiers CSV.

Le fichier batch utilise logman.exe pour toutes les commandes, à l’exception de la conversion des journaux en fichier CSV, qui nécessite un outil personnalisé (wstracedump.exe).

Utilisation des commandes de traçage.

La commande suivante crée un journal qui utilise le niveau info, erreur ou verbose. Cette commande nécessite des privilèges élevés.

wstrace.bat create [info | error | verbose]

La commande suivante supprime le journal. Cette commande nécessite des privilèges élevés.

wstrace.bat delete

La commande suivante active le traçage. Vous devez d’abord créer un journal.

wstrace.bat on

Le niveau de traçage (info, error ou verbose) peut être modifié comme suit :

wstrace.bat update [info | error | verbose]

Pour exporter la sortie de traçage, utilisez la commande suivante :

wstrace.bat dump > temp.csv

Les événements seront exportés vers le fichier CSV jusqu’à ce que Ctrl-C soit pressé ou que le traçage soit désactivé.

Format de fichier de traçage.

Les fichiers CSV créés par wstrace.bat sont de simples fichiers texte séparés par des virgules. Ces fichiers peuvent être ouverts dans Excel, Notepad, etc.

Les colonnes du fichier sont les suivantes :

  • TimeStamp : Horodatage de l’enregistrement de l’événement.
  • ProcessID : ID ULONG du processus enregistrant l’événement.
  • ThreadID : ID ULONG du thread enregistrant l’événement.
  • Event : Valeur énumérée du type d’événement peut être (« api enter » | « api pending » | « api ExitSyncSuccess » | « api ExitSyncFailure » | « api ExitAsyncSuccess » | « api ExitAsyncFailure » | « io started » | « io completed » | « io failed » | « error » | « received message start » | « received message » | « received message stop » | « sending message start » | « sending message » | « sending message stop »).
  • Operation : Le nom de l’opération en cours d’exécution. Généralement, cela correspond à l’API appelée.
  • Error : Numéro d’erreur HRESULT facultatif.
  • Info : Informations facultatives sur l’événement.

Collecte du fichier de traçage ETW WWSAPI à l’aide des outils ETW (fonctionne sous XP SP2 et les versions ultérieures).

Activation du traçage ETW pour WWSAPI.

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets

Pour créer et démarrer la session de traçage ETW. Logman.exe est un outil ETW intégré disponible sur toutes les plateformes prises en charge. Notez que vous devez utiliser Microsoft_Windows_WebServices comme nom de fournisseur sous XP SP2 et W2K3. Vous pouvez exécuter la commande logman query providers pour voir la liste des fournisseurs enregistrés. Le fournisseur Microsoft-Windows-WebServices (ou Microsoft_Windows_WebServices) devrait être listé à moins qu’il ne soit pas enregistré. Le fournisseur est normalement enregistré lors de l’installation. Cependant, il peut également être enregistré manuellement en exécutant wevtutil.exe im <ManifestFileName> (sous Windows Vista et les versions ultérieures) ou mofcomp.exe <MofFileName> (sous XP SP2 et W2K3).

Les indicateurs peuvent être utilisés pour filtrer les traces par type. Cela peut être une valeur OU des types de traces suivants. S’ils ne sont pas fournis, tous les types de traces sont activés.

  • 0x1 - Traces d’entrée/sortie de l’API.
  • 0x2 - Traces d’erreur.
  • 0x4 - Traces d’E/S.
  • 0x8 - Traces de messages SOAP.
  • 0x10 - Traces de messages binaires.

Le niveau peut être utilisé pour filtrer les traces par leur niveau. Cela doit être l’une des valeurs suivantes. S’il n’est pas fourni, tous les niveaux de traces sont activés.

  • 0x1 - Traces fatales.
  • 0x2 - Traces d’erreur.
  • 0x3 - Traces d’avertissement.
  • 0x4 - Traces informatives.
  • 0x5 - Traces détaillées.

EtlLogFileName est le chemin du fichier journal d’événements ETW à créer (utilisez l’extension .etl). S’il n’est pas fourni, ETW choisira un nom aléatoire qui pourra être interrogé plus tard. Ce fichier ne doit pas se trouver dans le répertoire de profil de l’utilisateur. Le fichier journal d’événements ETW (.fichier etl) est en format binaire. Il peut être consommé par les applications ETW, mais il n’est pas en format lisible par l’homme. L’étape suivante décrit comment visualiser son contenu.

Exécutez votre scénario

Collecte du fichier journal d’événements ETW.

logman stop wstrace -ets

Pour arrêter la session de traçage ETW. C’est à ce moment que ETW arrête la journalisation des événements. Le fichier journal d’événements ETW (spécifié dans le paramètre EtlLogFileName) est prêt à être utilisé. Il peut être visualisé localement (les instructions sont données ci-dessous) ou envoyé au groupe produit pour enquête.

Exemple de bout en bout utilisant les outils ETW :

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets

echo .. exécutez votre scénario..

logman stop wstrace -ets

tracerpt mytrace.etl -o mytrace.xml

wstrace.htm

echo .. Utilisez mytrace.xml et wstrace.xsl dans la page ouverte..

Visualisation des traces du fichier journal ETW WWSAPI à l’aide de l’outil wstracedump.exe (fonctionne sous Windows XP et les versions ultérieures).

Wstracedump.exe est un outil de consommation ETW personnalisé qui traite les événements dans le fichier journal ETW WWSAPI et produit une sortie lisible par l’homme. Il peut produire une sortie à partir de toutes les plateformes prises en charge. Voir son utilisation (wstracedump.exe -?) pour plus d’informations.

Visualisation des traces du fichier journal ETW WWSAPI à l’aide des outils ETW (fonctionne sous Windows Vista et les versions ultérieures).

Tracerpt.exe est l’outil pour visualiser le contenu d’un fichier journal d’événements ETW et est disponible sur toutes les plateformes prises en charge. Il peut être utilisé pour générer des fichiers de vidage CSV, EVTX ou XML à partir d’un fichier journal d’événements ETW. Cependant, le fichier de sortie généré contient des traces lisibles par l’homme uniquement sous Windows Vista et les versions ultérieures. Ces instructions décrivent comment générer le fichier de vidage XML et l’utiliser avec un fichier xsl pour afficher les traces dans un format agréable (le fichier xsl est très trivial et peut être modifié si d’autres formats sont souhaités).

  • Exécuter

    tracerpt <EtlLogFileName> -o <OutputXMLFileName>

    Pour créer un vidage XML à partir du fichier ETL binaire (tracerpt.exe crée le fichier de sortie en format XML par défaut. Exécutez tracerpt -? Pour voir les autres formats disponibles).

  • À ce stade, vous pouvez voir les informations de traçage dans le fichier XML. De plus, vous pouvez ouvrir le fichier wstrace.htm et utiliser le fichier de vidage xml et le fichier wstrace.xsl pour voir les traces dans un format plus agréable. Notez que les fichiers doivent se trouver sur la machine locale pour pouvoir utiliser ce fichier html sur IE.

Sécurité

Lors de l’activation du traçage, les administrateurs doivent tenir compte du fait qu’il consomme de l’espace disque supplémentaire et de la puissance de calcul. Un client ou une application malveillante peut épuiser les ressources système à moins que les paramètres de traçage ne soient configurés avec des limites raisonnables. Lors de l’utilisation de la fonction de traçage des messages, les messages contenant des informations sensibles telles que des identifiants, des informations personnelles, etc. peuvent être rendus persistants sur le disque ou être visualisés par toute personne ayant accès à l’observateur d’événements du système. Pour atténuer ce problème, le traçage peut être activé par les utilisateurs Système ou Administrateur sous Windows 2003 et les versions ultérieures. Le traçage des messages est désactivé sous Windows XP où tout utilisateur peut activer le traçage.

L’énumération suivante est utilisée avec le traçage :