Partager via


Suivi des demandes ayant échoué <traceFailedRequests>

Vue d’ensemble

L’élément <traceFailedRequests> vous permet de configurer le suivi des demandes ayant échoué pour un site web, une application ou un répertoire. Cet élément peut contenir une collection d’éléments <add> qui définissent plusieurs règles de suivi. Chacune de ces règles spécifie l’extension de l’URL de demande à laquelle la règle s’applique, les fournisseurs de traces et les zones à utiliser, ainsi que les conditions qui déclenchent l’enregistrement des événements par cette règle.

Compatibilité

Version Notes
IIS 10.0 L’élément <traceFailedRequests> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <traceFailedRequests> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <traceFailedRequests> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <traceFailedRequests> n’a fait l’objet d’aucune modification dans IIS 7.5.
IIS 7.0 L’élément <traceFailedRequests> 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 Web Server pane expanded with Tracing selected. .
  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 World Wide Web Services pane expanded with Tracing selected. - 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 Select Role Services pane expanded with Tracing selected.
  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 Internet Information Services pane expanded with Tracing selected.

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 I I S Manager Console with application icons.

  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 Edit Web Site Failed Request Tracing Settings dialog box displaying Directory and Maximum Number of Traced Files populated.

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 I I S Manager console with application icons.

  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 Add Failed Request Tracing Rule Wizard with All Content selected.

  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 Define Trace Conditions page with status codes box checked.

  7. Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs fournisseurs de traces sous Fournisseurs.
    Screenshot of Select Trace Providers page with A S P and A S P Net selected as trace providers.

  8. Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs niveaux de détail sous Verbosité.
    Screenshot of Select Trace Providers page with A S P and A S P Net selected for Providers verbosity.

  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 l’élément <traceFailedRequests> au niveau du serveur dans le fichier ApplicationHost.config ou bien au niveau du site, de l’application ou de l’URL dans le fichier Web.config associé.

Attributs

Aucune.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute un chemin à la collection des définitions de chemins.
remove Élément facultatif.

Supprime une référence à un chemin dans la collection des définitions de chemins.
clear Élément facultatif.

Supprime toutes les références aux chemins dans la collection des définitions de chemins.

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