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
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
- Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis cliquez sur Ajouter des rôles et des fonctionnalités.
- 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.
- 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.
. - Dans la page Sélectionner les composants, cliquez sur Suivant.
- Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 8 ou Windows 8.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.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
- Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics, puis sélectionnez Suivi.
- Cliquez sur OK. - Cliquez sur Fermer.
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 de serveur.
- Dans le volet de la hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
- 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.
- 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.
- Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows Vista ou Windows 7
- Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
- Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics.
- Sélectionnez Suivi, puis cliquez sur OK.
Procédure
Activer le suivi
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).
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é.
Dans le volet Actions, cliquez sur Suivi des demandes ayant échoué...
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.
Configurer les définitions d’échecs
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).
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é.
Dans le volet Accueil, double-cliquez sur Règles de suivi des demandes ayant échoué.
Dans le volet Actions, cliquez sur Ajouter...
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.
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é.
Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs fournisseurs de traces sous Fournisseurs.
Dans la page Sélectionner les fournisseurs de traces, sélectionnez un ou plusieurs niveaux de détail sous Verbosité.
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.
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()