IIS-Probleme debuggen mithilfe einer Ablaufverfolgung

Stösst man unter Windows auf Probleme ist man ohne passendes Werkzeug oft aufgeschmissen. Für IIS gibt es eine Rolle namens Ablaufverfolgung (engl. Failed Request Tracing). Damit können Fehler, welche die Anforderung einer Website oder Datei verhindern oder verlangsamen in einem XML-File festgehalten werden.

Feature installieren

Rolle AblaufverfolgungÜber den Assistenten zum Hinzufügen von Rollen und Features kann das Feature Ablaufverfolgung installiert werden.

Webserver (IIS) -> Webserver -> Systemzustand und Diagnose -> Ablaufverfolgung

 

 

Ablaufverfolgung für einzelnes IIS-Web aktivieren

Hat man im IIS das entsprechende Web ausgewählt, kann Rechts bei den Aktionen die Ablaufverfolgung für Anforderungsfehler gestartet werden.

Per Doppelklick öffnet man nun Ablaufverfolgungsregeln für Anforderungsfehler. Rechts bei den Aktionen kann nun über den Link Hinzufügen eine neue Regel definiert werden.

In dieser Regel können Einschränkungen festgelegt, damit nicht alle Aufrufe geloggt werden. Bspw. kann man das Logging auf einzelne Statuscodes, Dateien und Zeiträume einschränken.

Ablaufverfolgung Aktivieren   Ablaufverfolgung starten   Regel Hinzufügen   Statuscodes wählen   Fertigstellen

Ab jetzt werden die Logs geschrieben, sobald die betroffene Seite aufgerufen wurde.

Logs auswerten

In der Ablaufverflogung für Anforderungsfehler, rechts unter Aktionen können nun die Ablaufverfolgungsprotokolle über einen Link geöffnet werden.

Log Ordner öffnen   Dauert lange   Modul das die Probleme verursacht

In den Beispiel-Screenshots ist nun ersichtlich, dass der Statuscode zwar 200 (alles in Ordnung) ist, der Seitenaufbau aber tatsächlich um 10 Sekunden verzögert wird. Über die Request Details kann nun das Modul ausfindig gemacht werden, welches diesen Delay verursacht.

Mit diesen sehr detaillierten Informationen zum Seitenaufruf, können die möglichen Ursachen für ein Problem stark eingeschränkt werden. Viel Spass beim debuggen! ;-)

Weiterführende Links: