Freigeben über


Hinzufügen von Anforderungen bei fehlgeschlagenen Verfolgungen <adds>

Übersicht

Jedes <add>-Element in der <traceFailedRequests>-Auflistung kann ein <traceAreas>-Element enthalten, das die Ablaufverfolgungsanbieter und die anbieterspezifischen Bereiche definiert, die Ablaufverfolgungsereignisse für die aktuelle Ablaufverfolgungsregel generieren. Es kann auch ein <failureDefinition>-Element enthalten, mit dem Sie die Fehlerbedingungen für eine Anforderung konfigurieren können, einschließlich der Zeit, die der Server benötigt, um zu antworten, den HTTP-Statuscode und die Menge der Informationen, die in der Ablaufverfolgung enthalten sind.

Kompatibilität

Version Hinweise
IIS 10.0 Das <add> Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <add> Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <add> Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <add>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <add>-Element der <traceFailedRequests>-Auflistung wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Nachdem Sie die Standardinstallation von IIS 7 und höher abgeschlossen haben, müssen Sie den Ablaufverfolgungsrollendienst installieren, um die Ablaufverfolgung fehlgeschlagener Anforderungen zu verwenden. Nachdem Sie den Rollendienst installiert haben, müssen Sie dennoch die Ablaufverfolgung fehlgeschlagener Anforderungen auf Standortebene, Anwendungsebene oder Verzeichnisebene aktivieren.

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Serverrollen den Webserver (IIS)erweitern Sie den Webserver, erweitern Sie Integrität und Diagnose, und wählen Sie dann Ablaufverfolgung. Klicken Sie auf Weiter.
    Screenshot of Server Roles page, with the Health and Diagnostics tree expanded and Tracing selected and outlined. .
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Starttaste und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerungauf Programme und dann auf „Windows-Features aktivieren oder deaktivieren“.
  3. Erweitern Sie Internetinformationsdienste, erweitern Sie World Wide Web Services, erweitern SieIntegrität und Diagnose, und wählen Sie dann Ablaufverfolgung.
    Screenshot of Internet World Wide Web tree in Control Panel, with Health and Diagnostics expanded and Tracing selected.- Klicken Sie auf OK.
  4. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS) .
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Wählen Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von RollendienstenNachverfolgung aus, und klicken Sie dann auf Weiter.
    Screenshot of Select Role Services page of the Add Role Services Wizard, with Health and Diagnostics expanded and Tracing selected.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerungauf Programme und Funktionenund dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, und World Wide Web Services, und dann Integrität und Diagnose.
  4. Wählen Sie Nachverfolgungaus und klicken Sie dann auf OK.
    Screenshot of World Wide Web Services tree, with Health and Diagnostics expanded and Tracing selected and outlined.

Gewusst wie

Aktivieren der Ablaufverfolgung

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie der der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
      • Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Wählen Sie im Bereich Verbindungen die Serververbindung, den Standort, die Anwendung oder das Verzeichnis aus, für die Sie die Nachverfolgung für fehlerhafte Anforderungen konfigurieren möchten.

  3. Klicken Sie im Bereich Aktionen auf Fehlgeschlagene Anforderungsablaufverfolgung...
    Screenshot of Internet Information Services Manager dialog, with Failed Request Tracing selected in Actions pane.

  4. Wählen Sie im Dialogfeld Einstellungen für die Anforderungsablaufverfolgung der Website bearbeiten das Kontrollkästchen Aktivieren, um die Ablaufverfolgung zu aktivieren, lassen Sie den Standardwert stehen oder geben Sie ein neues Verzeichnis im Feld Verzeichnisein, in dem Sie fehlgeschlagene Anforderungsprotokolldateien speichern möchten. Geben Sie die Anzahl der fehlgeschlagenen Anforderungsablaufverfolgungsdateien im Feld Maximale Anzahl von Ablaufverfolgungsdateien ein und klicken Sie dann auf OK.
    Screenshot of Edit Web Site Failed Request Tracing Settings dialog box, with Enable check box selected to enable tracing.

Konfigurieren von Fehlerdefinitionen

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie der der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
      • Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Wählen Sie im Bereich Verbindungen die Verbindung, den Standort, die Anwendung oder das Verzeichnis aus, für die Sie die Nachverfolgung für fehlerhafte Anforderungen konfigurieren möchten.

  3. Doppelklicken Sie unter Home auf Nachverfolgungsregeln für fehlerhafte Anforderungen.
    Screenshot of Internet Information Services Manager dialog, with Failed Request Tracing Rules selected in Home pane.

  4. Klicken Sie im Bereich Aktionen auf Hinzufügen...

  5. Wählen Sie auf der Seite Inhalt zur Ablaufverfolgung angeben des Assistenten zum Hinzufügen der Regel zur Ablaufverfolgung von Fehlgeschlagenen Anforderungen den Inhaltstyp aus, den Sie nachverfolgen möchten und klicken Sie dann auf Weiter.
    Screenshot of Specify Content to Trace page of the Add Failed Request Tracing Rule Wizard, with content type selected.

  6. Wählen Sie auf der Seite Ablaufverfolgungsbedingungen definieren die Bedingungen aus, die Sie nachverfolgen möchten, und klicken Sie dann auf Weiter. Zu den Ablaufverfolgungsbedingungen können eine beliebige Kombination von Statuscodes, ein Zeitlimit, das eine Anforderung in Anspruch nehmen sollte, oder der Schweregrad des Ereignisses gehören. Wenn Sie alle Bedingungen angeben, generiert die erste Bedingung, die erfüllt ist, die Ablaufverfolgungsprotokolldatei für die fehlerhafte Anforderung.
    Screenshot of Define Trace Conditions page of Add Failed Request Tracing Rule dialog, with conditions selected.

  7. Wählen Sie auf der Seite Ablaufverfolgungsanbieter auswählen einen oder mehrere der Ablaufverfolgungsanbieter unter Anbieter aus.
    Screenshot of Select Trace Providers page of Add Failed Request Tracing Rule dialog, with Providers selected.

  8. Wählen Sie auf der Seite Ablaufverfolgungsanbieter auswählen unter Ausführlichkeit mindestens eine der Ausführlichkeitsstufen aus.
    Screenshot of Select Trace Providers page of Add Failed Request Tracing Rule dialog, with Verbosity levels selected.

  9. Wenn Sie den ASPNET oder WWW Server-Ablaufverfolgungsanbieter in Schritt 8 ausgewählt haben, wählen Sie einen oder mehrere Funktionsbereiche für den Anbieter aus, der unter Bereiche der Seite Ablaufverfolgungsanbieter auswählen nachverfolgt werden soll.

  10. Klicken Sie auf Fertig stellen.

Konfiguration

Attribute

Attribut Beschreibung
customActionExe Optionales Zeichenfolgeattribut.

Gibt eine ausführbare Datei an, die ausgeführt werden soll, wenn eine Fehlerbedingung erreicht wird (z. B. um eine VBScript-Datei auszuführen, geben Sie „Cscript.exe“) an. Alle Befehlszeilenvariablen werden erweitert. Beispielsweise wird „%windir%“ auf den Pfad des Windows-Verzeichnisses erweitert.
customActionParams Optionales Zeichenfolgeattribut.

Enthält Parameter, die an die ausführbare Datei übergeben werden sollen, die im customActionExe-Attribut angegeben ist. Befehlszeilenvariablen wie „%windir%“ werden erweitert. Sie können auch Parametervariablen wie „%1“ und „%2“ in der von Ihnen angegebenen Zeichenfolge verwenden (z. B. "MyScript.vbs %1 %2").
customActionTriggerLimit Optionales Uint-Attribut.

Gibt die maximale Anzahl der durch das customActionExe-Attribut angegebenen Programme während der Lebensdauer des Arbeitsprozesses für die Definition der fehlgeschlagenen Anforderung an. Dieser Wert wird jedes Mal zurückgesetzt, wenn der Arbeitsprozess wiederverwendet wird. Zulässige Werte liegen zwischen 0 und 10000. Dieses Feature kann z. B. verwendet werden, um nach dem nächsten Fehler ein Speicherabbild zu erstellen, aber nicht nach nachfolgenden Fehlern.

Hinweis: Wenn der von Ihnen angegebene CustomActionTriggerLimit-Wert während der Laufzeit des Arbeitsprozesses erreicht ist, werden nachfolgende fehlgeschlagene Anforderungen protokolliert, das in CustomActionExe angegebene Programm wird jedoch nicht ausgeführt. Die Einträge im Protokoll mit fehlgeschlagenen Anforderungen geben an, dass der CustomActionTriggerLimit-Wert erreicht wurde. Der Standardwert ist 1.
path Erforderliches Zeichenfolgenattribut.

Gibt den Pfad an, für den Ablaufverfolgungsereignisse protokolliert werden sollen. Der Pfad ist relativ zur URL (virtuelles Verzeichnis/Verzeichnis). Subpfade können nicht verwendet werden. Darüber hinaus muss der Pfad lokal im Verzeichnis sein, in dem die Definition festgelegt ist. Platzhalterwerte können verwendet werden, z. B. „*.aspx“. Verwenden Sie für die Ablaufverfolgung des Standarddokuments „/“ als Pfadwert.

Untergeordnete Elemente

Element Beschreibung
traceAreas Erforderliches Element.

Konfiguriert, was für einen bestimmten Pfad nachverfolgt werden soll.
failureDefinitions Erforderliches Element.

Definiert die Bedingungen zum Speichern von Ablaufverfolgungen für eine Anforderung.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel wird die Ablaufverfolgung auf Serverebene in der Datei ApplicationHost.config konfiguriert. Es legt die Ablaufverfolgung für alle .aspx Dateien fest, verwendet das <traceAreas> Element, um den ASPNET-Anbieter und die Ablaufverfolgung für alle ASP.NET Bereiche festzulegen, die Infrastruktur,Modul ,Page und AppServices sind. Im Beispiel wird auch das Attribut Ausführlichkeit verwendet, um die Menge der Informationen, die an die Ablaufverfolgungsdatei zurückgegeben werden, auf Warnung festzulegen. Schließlich verwendet das Beispiel das <failureDefinitions> Element, um nur Anforderungen zu verfolgen, die einen HTTP 404-Statuscode generieren.

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

Beispielcode

In den folgenden Beispielen werden ausführliche Fehler bei der Anforderungsablaufverfolgung für HTTP 500-Fehler in ASP.NET Inhalt aller Anforderungen an *.aspx Seiten aktiviert.

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