Partager via


Suivi <tracing>

Vue d’ensemble

Le groupe de section <tracing> contient les paramètres de suivi des échecs de demandes que vous avez configurés. Il contient aussi les définitions de fournisseurs de traces fournies durant l’installation ou manuellement sur le serveur web IIS 7.

Le suivi basé sur les demandes offre un excellent moyen de comprendre les événements liés à vos demandes et pourquoi ils se produisent, à condition que vous puissiez reproduire le problème rencontré par le serveur. Des problèmes tels que des performances médiocres sur certaines demandes, des échecs d’authentification sur d’autres demandes ou des erreurs avec le code d’état HTTP 500 retournées par ASP (Active Server Pages) ou ASP.NET peuvent souvent être difficiles à résoudre, sauf si vous avez capturé la trace du problème qui s’est produit. Le suivi des demandes ayant échoué est conçu pour mettre en mémoire tampon les événements de trace d’une demande et les vider uniquement sur le disque quand une demande échoue selon la définition d’échec que vous avez fournie.

IIS 7 affiche uniquement ces messages après l’installation et l’activation du module Suivi. Il enregistre ces messages et d’autres informations de suivi dans un fichier spécial qu’on appelle fichier journal de suivi des échecs d’événements. Vous pouvez ouvrir ces fichiers dans un navigateur web et passer en revue les événements de suivi générés par IIS, les événements de suivi personnalisés générés par des modules tiers, ou les deux. Par défaut, IIS 7 enregistre ces fichiers dans le répertoire %systemroot%\inetpub\logs\FailedReqLogFiles.

La section <tracing> contient un élément <traceFailedRequests> et un élément <traceProviderDefinition>. Le premier élément configure le suivi des demandes ayant échoué pour votre site web ou votre application, et le deuxième élément définit les fournisseurs de traces disponibles sur le serveur. Par défaut, IIS 7 inclut des fournisseurs de traces pour ASP, ASP.NET, les extensions ISAPI (Internet Server API) et le serveur web lui-même. Vous pouvez aussi inclure des fournisseurs de traces personnalisés.

Compatibilité

Version Notes
IIS 10.0 L’élément <tracing> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <tracing> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <tracing> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <tracing> n’a fait l’objet d’aucune modification dans IIS 7.5.
IIS 7.0 L’élément <tracing> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

Une fois que vous avez terminé l’installation par défaut d’IIS version 7 ou ultérieure, vous devez installer le service de rôle Suivi pour utiliser la fonctionnalité de suivi des demandes ayant échoué. Après avoir installé le service de rôle, vous devez encore activer le suivi des demandes ayant échoué au niveau du site, de l’application ou du répertoire.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis cliquez sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles serveur, développez tour à tour Serveur web (IIS), Serveur web et Intégrité et diagnostics, puis sélectionnez Suivi. Sélectionnez Suivant.
    Screenshot of the Server Roles page. Tracing is highlighted in the expanded menu. .
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics, puis sélectionnez Suivi.
    Screenshot of the Windows Features dialog box. Tracing is highlighted in the drop down menu.- Cliquez sur OK.
  4. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de la hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler le contenu jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez Suivi, puis cliquez sur Suivant.
    Screenshot of the Add Role Services wizard displaying the Role Services page. Tracing is highlighted in the menu.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics.
  4. Sélectionnez Suivi, puis cliquez sur OK.
    Screenshot of the Windows Features dialog box. Tracing is highlighted in the expanded menu.

Procédure

Activer le suivi

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, sélectionnez la connexion du serveur, le site, l’application ou le répertoire pour lequel vous souhaitez configurer le suivi des demandes ayant échoué.

  3. Dans le volet Actions, cliquez sur Suivi des demandes ayant échoué...
    Screenshot of the I I S Manager window displaying the Default Web Site Home page.

  4. Dans la boîte de dialogue Modifier les paramètres de trace des demandes de site web ayant échoué, cochez la case Activer pour activer le suivi ; dans la zone Répertoire, conservez l’emplacement par défaut ou entrez un autre répertoire où vous souhaitez enregistrer les fichiers journaux des échecs de demandes ; dans le champ Nombre maximal de fichiers de trace, entrez le nombre de fichiers de trace des échecs de demandes pouvant être enregistrés, puis cliquez sur OK.
    Screenshot of the Edit Web Site Failed Request Tracing Settings dialog box.

Configurer les définitions d’échecs

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, accédez à la connexion, au site, à l’application ou au répertoire pour lequel vous souhaitez configurer le suivi des demandes ayant échoué.

  3. Dans le volet Accueil, double-cliquez sur Règles de suivi des demandes ayant échoué.
    Screenshot of the I I S Manager displaying the Default Web Site Home page. The icon for Failed Request Tracing Rules is highlighted.

  4. Dans le volet Actions, cliquez sur Ajouter...

  5. Dans la page Indiquer le contenu devant faire l’objet de la trace de l’Assistant Ajout d’une règle de suivi des demandes ayant échoué, sélectionnez le type de contenu à tracer, puis cliquez sur Suivant.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Specify Content to Trace page.

  6. Dans la page Définir les conditions de suivi, sélectionnez les conditions à suivre, puis cliquez sur Suivant. Les conditions de trace peuvent inclure n’importe quelle combinaison de codes d’état, une limite de temps qu’une demande doit prendre ou la gravité de l’événement. Si vous spécifiez toutes les conditions, la première condition remplie génère le fichier journal de trace des demandes ayant échoué.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Define Content to Trace page.

  7. Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs fournisseurs de traces sous Fournisseurs.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Select Trace Providers page.

  8. Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs niveaux de détail sous Verbosité.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Select Trace Providers page. W W W Server and Warnings are selected.

  9. Si vous avez sélectionné le fournisseur de traces ASPNET ou WWW Server à l’étape 8, sélectionnez une ou plusieurs zones fonctionnelles à suivre par le fournisseur sous Zones dans la page Sélectionner les fournisseurs de traces.

  10. Cliquez sur Terminer.

Configuration

Vous pouvez configurer le groupe de section <tracing> au niveau du serveur dans le fichier ApplicationHost.config ou bien au niveau du site, de l’application ou du répertoire dans un fichier Web.config.

Attributs

Aucune.

Éléments enfants

Élément Description
traceFailedRequests Élément facultatif.

Contient les paramètres du suivi des demandes ayant échoué sur le serveur web.
traceProviderDefinitions Élément facultatif.

Définit les fournisseurs de traces utilisés sur le serveur web.

Exemple Configuration

L’exemple de configuration ci-dessous configure le suivi au niveau du serveur dans le fichier ApplicationHost.config. Il définit le suivi pour tous les fichiers .aspx, utilise l’élément <traceAreas> pour définir le fournisseur ASPNET et trace toutes les zones ASP.NET, à savoir Infrastructure, Module, Page et AppServices. De plus, l’exemple utilise l’attribut verbosity pour définir la quantité d’informations retournées dans le fichier de suivi en avertissement (warning). Enfin, l’exemple utilise l’élément <failureDefinitions> pour suivre uniquement les demandes qui génèrent un code d’état HTTP 404.

<tracing>
   <traceFailedRequests>
      <add path="*.aspx">
         <traceAreas>
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Warning" />
         </traceAreas>
         <failureDefinitions statusCodes="404" />
      </add>
   </traceFailedRequests>
</tracing>

Exemple de code

Les exemples suivants activent le suivi détaillé (verbose) des demandes ayant échoué avec un code d’erreur HTTP 500 dans le contenu ASP.NET, pour toutes les demandes sur des pages *.aspx.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /+"[path='*.aspx']" 

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /+"[path='*.aspx'].traceAreas.[provider='ASPNET',areas='Infrastructure,Module,Page,AppServices',verbosity='Verbose']" 

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /[path='*.aspx'].failureDefinitions.statusCodes:"500"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Contoso");
         ConfigurationSection traceFailedRequestsSection = config.GetSection("system.webServer/tracing/traceFailedRequests");
         ConfigurationElementCollection traceFailedRequestsCollection = traceFailedRequestsSection.GetCollection();

         ConfigurationElement addElement = traceFailedRequestsCollection.CreateElement("add");
         addElement["path"] = @"*.aspx";

         ConfigurationElementCollection traceAreasCollection = addElement.GetCollection("traceAreas");
         ConfigurationElement addElement1 = traceAreasCollection.CreateElement("add");
         addElement1["provider"] = @"ASPNET";
         addElement1["areas"] = @"Infrastructure,Module,Page,AppServices";
         addElement1["verbosity"] = @"Verbose";
         traceAreasCollection.Add(addElement1);

         ConfigurationElement failureDefinitionsElement = addElement.GetChildElement("failureDefinitions");
         failureDefinitionsElement["statusCodes"] = @"500";
         traceFailedRequestsCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
      Dim traceFailedRequestsSection As ConfigurationSection = config.GetSection("system.webServer/tracing/traceFailedRequests")
      Dim traceFailedRequestsCollection As ConfigurationElementCollection = traceFailedRequestsSection.GetCollection

      Dim addElement As ConfigurationElement = traceFailedRequestsCollection.CreateElement("add")
      addElement("path") = "*.aspx"
      Dim traceAreasCollection As ConfigurationElementCollection = addElement.GetCollection("traceAreas")
      Dim addElement1 As ConfigurationElement = traceAreasCollection.CreateElement("add")
      addElement1("provider") = "ASPNET"
      addElement1("areas") = "Infrastructure,Module,Page,AppServices"
      addElement1("verbosity") = "Verbose"
      traceAreasCollection.Add(addElement1)

      Dim failureDefinitionsElement As ConfigurationElement = addElement.GetChildElement("failureDefinitions")
      failureDefinitionsElement("statusCodes") = "500"
      traceFailedRequestsCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var traceFailedRequestsSection = adminManager.GetAdminSection("system.webServer/tracing/traceFailedRequests", "MACHINE/WEBROOT/APPHOST/Contoso");
var traceFailedRequestsCollection = traceFailedRequestsSection.Collection;

var addElement = traceFailedRequestsCollection.CreateNewElement("add");
addElement.Properties.Item("path").Value = "*.aspx";
var traceAreasCollection = addElement.ChildElements.Item("traceAreas").Collection;

var addElement1 = traceAreasCollection.CreateNewElement("add");
addElement1.Properties.Item("provider").Value = "ASPNET";
addElement1.Properties.Item("areas").Value = "Infrastructure,Module,Page,AppServices";
addElement1.Properties.Item("verbosity").Value = "Verbose";
traceAreasCollection.AddElement(addElement1);

var failureDefinitionsElement = addElement.ChildElements.Item("failureDefinitions");
failureDefinitionsElement.Properties.Item("statusCodes").Value = "500";
traceFailedRequestsCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set traceFailedRequestsSection = adminManager.GetAdminSection("system.webServer/tracing/traceFailedRequests", "MACHINE/WEBROOT/APPHOST/Contoso")
Set traceFailedRequestsCollection = traceFailedRequestsSection.Collection

Set addElement = traceFailedRequestsCollection.CreateNewElement("add")
addElement.Properties.Item("path").Value = "*.aspx"
Set traceAreasCollection = addElement.ChildElements.Item("traceAreas").Collection

Set addElement1 = traceAreasCollection.CreateNewElement("add")
addElement1.Properties.Item("provider").Value = "ASPNET"
addElement1.Properties.Item("areas").Value = "Infrastructure,Module,Page,AppServices"
addElement1.Properties.Item("verbosity").Value = "Verbose"
traceAreasCollection.AddElement addElement1

Set failureDefinitionsElement = addElement.ChildElements.Item("failureDefinitions")
failureDefinitionsElement.Properties.Item("statusCodes").Value = "500"
traceFailedRequestsCollection.AddElement addElement

adminManager.CommitChanges()