Szenario 2: Parserbeispiel mit ETW-Ablaufverfolgung
Um einen ETW-Ablaufverfolgungsbericht für die HTTP Server-API-Komponente zu generieren, führen Sie die Schritte aus, wie im Abschnitt "Generieren eines ETW-Ablaufverfolgungsberichts" von Szenario 1: HTTP-Timeoutbeispielmit ETW-Ablaufverfolgung und Netsh-Befehlen gezeigt, aber reproduzieren Sie den für dieses Szenario spezifischen Fehler. In diesem Beispiel greifen Sie von einem Clientcomputer aus auf die Webanwendung zu, was dazu führt, dass die Meldung "400 bad request" (400 fehlerhafte Anforderung) auf dem Client angezeigt wird. Diese Schritte werden auf dem Server ausgeführt, da er die Webanwendung hosten wird.
Anzeigen der Ablaufverfolgung und Diagnose
Die resultierende CSV-Datei für Ablaufverfolgungen kann in einem Excel tool angezeigt werden, das das CSV-Format unterstützt. Tabelle 2 unten zeigt Ausschnitte aus einer Beispiel-Ablaufverfolgungsdatei (httptrace.csv). Im Ablaufverfolgungsbericht zeigt die Spalte "Level" einen Eintrag mit dem Wert "2" an, der einen Fehler darstellt. Wie bereits erwähnt, folgt die HTTP-Server-API-Komponente den ETW-Ebenen, die im Artikel Komplexer Typ des komplexen Typs LevelType definiert sind.
Die ETW-Ebenen umfassen: 1 Kritisch; 2 Fehler; 3 Warnung; 4 Information; 5 Ausführlich.
Bei diesem Fehler meldet der Ereignistyp (Spalte Typ) "ParseRequestFailed". In den nachfolgenden Spalten für das ParseRequestFailed-Ereignis wird der Eintrag "InvalidHost" angezeigt. Dieser Eintrag bedeutet, dass der identifizierte Host in der HTTP-Anforderung gemäß dem HTTP-Protokoll falsch ist. Beachten Sie, dass die Spalte mit dem Eintrag "InvalidHost" aus Gründen der Kürze und zur Vermeidung des Auszugs nicht zusammenhängender Spalten nicht in der Tabelle enthalten ist.
Um dieses Analyseproblem zu beheben, sollte der Webclient korrigiert werden, damit er mit HTTP RFC kompatibel ist.
| Ereignisname | Typ | Ereignis-ID | Version | Kanal | Ebene |
|---|---|---|---|---|---|
| EventTrace | Header | 0 | 2 | 0 | 0 |
| Microsoft-Windows-HttpService | AddUrl | 31 | 0 | 16 | 4 |
| Microsoft-Windows-HttpService | ConnConnect | 21 | 0 | 16 | 4 |
| Microsoft-Windows-HttpService | ConnIdAssgn | 22 | 0 | 16 | 4 |
| Microsoft-Windows-HttpService | RecvReq | 1 | 0 | 16 | 4 |
| Microsoft-Windows-HttpService | ParseRequestFailed | 52 | 0 | 16 | 2 |
| Microsoft-Windows-HttpService | LogFileWrite | 51 | 0 | 16 | 4 |
Tabelle 2: Auszüge aus einem Beispiel-Ablaufverfolgungsbericht für ein Analyseproblem