Verwenden von Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen zum Behandeln von Problemen beim Routing von Anwendungsanforderungen

Gilt für: Internetinformationsdienste 7.0 und höhere Versionen

Die Ablaufverfolgung fehlgeschlagener Anforderungen ist ein leistungsfähiges Tool zur Problembehandlung von Anforderungsverarbeitungsfehlern in IIS 7.0 und höheren Versionen. Dieser Artikel enthält Schritte zum Aktivieren von Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen zum Debuggen von Fehlern und Ablaufverfolgungsschritten in Anwendungsanforderungsrouting. Weitere Informationen zu Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen finden Sie unter Problembehandlung bei anforderungensfehlern mithilfe der Ablaufverfolgung in IIS 8.5.

Ziel

So konfigurieren Sie Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen und verstehen, worauf Sie bei der Problembehandlung beim Routing von Anwendungsanforderungen achten müssen.

Voraussetzungen

Für diese exemplarische Vorgehensweise sind die folgenden Voraussetzungen erforderlich:

  • IIS 7.0 oder höher unter Windows 2008 (beliebige SKU) oder höher, wobei der Rollendienst "Ablaufverfolgung" für IIS installiert ist.
  • Microsoft Application Request Routing und abhängige Module.
  • Mindestens zwei Anwendungsserver mit Arbeitsstandorten und Anwendungen.

Wenn das Anwendungsanforderungsrouting noch nicht installiert wurde, laden Sie es aus dem Download Center herunter, und installieren Sie es, indem Sie die unter Installieren des Anwendungsanforderungsroutings beschriebenen Schritte ausführen.

Eine weitere Voraussetzung ist, dass Sie die Verwendung des Anwendungsanforderungsroutingmoduls durchlaufen und das Anwendungsanforderungsrouting konfiguriert haben. Das Routing von Anwendungsanforderungen sollte in funktionierender Reihenfolge ausgeführt werden, bevor Sie mit den folgenden Abschnitten fortfahren.

Schritt 1: Konfigurieren von Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen

Konfigurieren Sie die Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen für das Anwendungsanforderungsrouting über die Benutzeroberfläche oder über die Befehlszeile.

Konfigurieren von Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen mithilfe der Benutzeroberfläche

  1. Starten Sie den Internetinformationsdienste-Manager (IIS) (inetmgr).
  2. Wählen Sie Standardwebsite aus.
    Screenshot der erweiterten Liste
  3. Wählen Sie im Bereich Aktionen unter Konfigurieren die Option Ablaufverfolgung fehlgeschlagener Anforderungen... aus.
    Screenshot, der sich auf die Ablaufverfolgung fehlgeschlagener Anforderungen im Bereich
  4. Aktivieren Sie im Dialogfeld Einstellungen für die Ablaufverfolgung von Anforderungsfehlern für Website bearbeiten das Kontrollkästchen Aktivieren .
    Screenshot des Dialogfelds
  5. Wählen Sie OK aus, um die Änderungen zu speichern.
  6. Wählen Sie Standardwebsite aus.
  7. Doppelklicken Sie auf Ablaufverfolgungsregeln für fehlgeschlagene Anforderungen.
  8. Wählen Sie im Bereich Aktionen die Option Hinzufügen... aus.
    Screenshot des Fensters
    Wählen Sie Alle Inhalte (*) und dann Weiter aus.
  9. Wählen Sie Statuscode(s) aus, und geben Sie 200-399 ein.
    Screenshot der Ablaufverfolgungsregel zum Hinzufügen fehlgeschlagener Anforderungen. Der Statuscode ist aktiviert.
    Wählen Sie Weiter aus. Die obige Konfiguration hat eine Regel zur Ablaufverfolgung fehlgeschlagener Anforderungen erstellt, die Ablaufverfolgungen schreibt, wenn der status Code zwischen 200 und 399 liegt.
  10. Deaktivieren Sie ASP, ASPNET und ISAPI-Erweiterung. Nachdem Sie WWW-Server ausgewählt haben, deaktivieren Sie alles unter Bereiche: mit Ausnahme von Rewrite und RequestRouting. Da das Anwendungsanforderungsrouting auf dem URL-Rewrite-Modul basiert, um eingehende Anforderungen zu untersuchen, wird empfohlen, die Ablaufverfolgungen sowohl für das Anwendungsanforderungsrouting (RequestRouting) als auch für das URL-Rewrite-Modul (Rewrite Module) zu aktivieren.
    Screenshot des Fensters
    Weitere Informationen zu Ablaufverfolgungen des URL-Rewrite-Moduls finden Sie unter Using Failed Request Tracing to Trace Rewrite Rules .
  11. Wählen Sie Fertig stellen aus.

Konfigurieren von Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen mithilfe der Befehlszeile

  1. Öffnen Sie eine Eingabeaufforderung mit Administratorrechten.

  2. Navigieren Sie zu %windir%\system32\inetsrv.

  3. Führen Sie den folgenden Befehl aus, um die Ablaufverfolgung für fehlgeschlagene Anforderungen auf der Standardwebsite zu aktivieren:

    appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
    
  4. Führen Sie die folgenden Befehle aus, um die Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen wie auf der benutzeroberfläche oben gezeigt zu konfigurieren:

    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*']"
    
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='WWW Server',areas='Rewrite,RequestRouting',verbosity='Verbose']"
    
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /[path='*'].failureDefinitions.statusCodes:"200-399"
    

Schritt 2: Analysieren von Ablaufverfolgungsprotokollen für fehlgeschlagene Anforderungen

In diesem Schritt senden Sie Anforderungen an das Routing von Anwendungsanforderungen und analysieren Protokolle zur Ablaufverfolgung fehlgeschlagener Anforderungen.

So zeigen Sie Protokolle zur Ablaufverfolgung fehlgeschlagener Anforderungen an

  1. Navigieren Sie zu dem Verzeichnis, in das die Protokolle zur Ablaufverfolgung fehlgeschlagener Anforderungen geschrieben werden. Standardmäßig ist %SystemDrive%\inetpub\Logs\FailedReqLogFiles\der Speicherort .

  2. Ändern Sie das Verzeichnis in den Ordner, der der Standardwebsite entspricht. Standardmäßig ist dies W3SVC1. Wenn Sie sich nicht sicher sind, wählen Sie im IIS-Manager die Standardwebsite und dann im Bereich Aktionen die Option Erweiterte Einstellungen... aus. Der Wert der ID gibt den entsprechenden Ordner an. (Id 1 entspricht z. B. W3SVC1).

  3. Wenn XML-Dateien vorhanden sind, entfernen Sie sie, indem Sie Folgendes eingeben:

    del *.xml
    
  4. Senden Sie eine Anforderung an anwendungsanforderungsrouting. Wenn das Anwendungsanforderungsrouting ordnungsgemäß funktioniert, führt dies zu einer 200-Antwort, die innerhalb des in Schritt 1 angegebenen Bereichs von 200 bis 399 liegt. Daher werden die Protokolle an den oben genannten Speicherort geschrieben.

  5. Listen Sie die Dateien im Verzeichnis auf, um zu bestätigen, dass neue XML-Dateien geschrieben wurden.

  6. Öffnen Sie die XML-Datei. Wählen Sie Details anfordern aus. Wählen Sie Anforderungsablaufverfolgung abschließen und dann Alle erweitern aus. Die folgende Abbildung zeigt ein Beispiel für ein Protokoll zur Ablaufverfolgung fehlgeschlagener Anforderungen für das Routing von Anwendungsanforderungen:
    Screenshot eines Browserfensters mit der Anforderungsdiagnose für die Beispielwebsite auf einer Registerkarte.

  7. Achten Sie genauer auf die folgenden Abschnitte:

    • GENERAL_REQUEST_HEADERS:

      • Header: Zeigt den HTTP-Header an, den das Anwendungsanforderungsrouting empfangen hat.
    • ARR_REQUEST_ROUTED:

      • WebFarm: Gibt den Namen der Servergruppe an, in der die Anforderung weitergeleitet wird.
      • Server: Gibt den Zielserver an, auf dem die Anforderung weitergeleitet wird.
      • Algorithmus: Gibt an, welcher Lastenausgleichsalgorithmus verwendet wird.
      • RoutingReason: Gibt die Entscheidung an, warum der Server ausgewählt wird.
    • ARR_SERVER_STATS:

      • Status: Verfügbarkeit des Zielservers.
      • TotalRequests: Laufzeitstatistik, wie viele Anforderungen an diesen Server gesendet wurden.
      • CurrentRequests: Laufzeitstatistik zur gleichzeitigen Anzahl von HTTP-Anforderungen an diesen Server.
      • BytesSent: Laufzeitstatistik, wie viele Daten in KB an diesen Server gesendet wurden.
      • BytesReceived: Laufzeitstatistik, wie viele Daten in KB von diesem Server empfangen wurden.
      • ResponseTime: Laufzeitstatistik zur Reaktionsfähigkeit in ms dieses Servers.
    • GENERAL_RESPONSE_HEADERS

      • Header: Zeigt den HTTP-Antwortheader vom Zielserver an.
    • GENERAL_RESPONSE_ENTITY_BUFFER

      • Puffer: Zeigt die Antwortentität des Zielservers an.
    • Die folgenden Wurden mit den Zeitstempeln hinzugefügt, um die Start- und Endzeiten der entsprechenden Ereignisse anzugeben, um ein Profil für die Leistung des Anwendungsanforderungsroutings zu erstellen:

      • ARR_REQUEST_HEADERS_START
      • ARR_REQUEST_HEADERS_END
      • ARR_RESPONSE_HEADERS_START
      • ARR_RESPONSE_HEADERS_END
      • ARR_RESPONSE_ENTITY_START
      • ARR_RESPONSE_ENTITY_END
      • ARR_RESPONSE_ENTITY_START
      • ARR_RESPONSE_ENTITY_END

Wenn Sie die Protokolle zur Ablaufverfolgung fehlgeschlagener Anforderungen auf dem Serverkern erfassen, kopieren Sie die Protokolle mit dem Freb.xsl-Stylesheet auf einen Computer, auf dem ein Browser verfügbar ist.

Zusammenfassung

Sie haben nun erfolgreich Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen für das Routing von Anwendungsanforderungen konfiguriert. Regeln für die Ablaufverfolgung fehlgeschlagener Anforderungen können verwendet werden, um die Problembehandlung und das Debuggen des Anwendungsanforderungsroutings sowie die Routingentscheidungen zu verstehen, einschließlich Lastenausgleichsalgorithmen, die bei der Auswahl des Zielservers für eine bestimmte Anforderung getroffen wurden.