Freigeben über


Fehlerprotokollierung in Windows Server 2003 SP1

Hinzufügen von W3C-Formatvorlagenheadern

Ab Windows Server 2003 mit Service Pack 1 (SP1) enthält das HTTP Server-API-Fehlerprotokoll W3C-Formatheader, sodass Protokolldateien mithilfe von Standardprotokollparsern analysiert werden können. Die unten gezeigte Vorlage listet alle Felder auf, die in der HTTP-Fehlerprotokolldatei protokolliert werden können.

#Software: <Name of the HTTP Server>
#Version: 1.0 <Log format version>
#Date: <Log file creation date and time>
#Fields: <date time s-computername c-ip c-port s-ip s-port cs-version
         cs-method cs-uri cs(User-Agent) cs(Cookie) cs(referrer) 
         cs-host sc-status sc-bytes cs-bytes time-taken s-siteid  
         s- reason s-queuename <header names of fields logged>

Protokollierung zusätzlicher Felder

Das HTTP-Fehlerprotokoll wurde erweitert, um neun weitere Felder einzuschließen, um Daten zu aufgetretenen Fehlern zu protokollieren. Die neuen Fehlerfelder sind unten aufgeführt:

  • Servercomputername [S-COMPUTERNAME]
  • Benutzer-Agent [CS(USER_AGENT)]
  • Cookie [CS(COOKIE)]
  • Referrer [CS(Referrer)]
  • Hostname [CS-HOST]
  • Vom Server empfangene Bytes [SC-BYTES]
  • Vom Server empfangene und verarbeitete Bytes [CS-BYTES]
  • Zeitaufwand für die Verarbeitung der Anforderung [ZEITAUFWAND]
  • Queue-Name (reserviert für IIS) [S-QUEUENAME]

Auswählen von Abgelegten zum Anmelden in der HTTP-Fehlerprotokolldatei

Der ErrorLoggingFields Registrierungsschlüssel wurde hinzugefügt, um die im HTTP-Fehlerprotokoll angemeldeten Felder zu steuern. Diese Registrierungswerte befinden sich unter einem HTTP\Parameters-Schlüssel unter:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
      Services
         HTTP
            Parameters

Der ErrorLoggingFields Registrierungswert ist ein DWORD-Wert, der Bitwerte für jedes der Felder enthält, die protokolliert werden können. Um die Protokollierung eines bestimmten Felds zu aktivieren, legen Sie den entsprechenden Bitwert auf 1 fest, und starten Sie den HTTP-Dienst neu. Um die Protokollierung zu deaktivieren, legen Sie den Bitwert auf 0 fest. Verwenden Sie zum Konfigurieren mehrerer Felder ein bitweises OR der einzelnen Werte. Um beispielsweise die Felder "Cookie" und "Referrer" zu aktivieren, sollte der Wert 0x00020000 | 0x00040000 = 0x00060000. Wenn der ErrorLoggingFields Registrierungsschlüssel nicht vorhanden ist, werden die Standardfelder protokolliert. Der ErrorLoggingFields Wert zum Protokollieren der Standardfelder ist 0x7c884c7. Um die Protokollierung für alle felder zu aktivieren, die in der folgenden Tabelle angezeigt werden, legen Sie den Wert auf 0x7dff4e7 fest.

Die Fehlerprotokollierungsfelder sind in der folgenden Tabelle aufgeführt:

Protokollfeld Standardmäßig protokolliert Bitwert
Datum Ja 0x00000001
Zeit Ja 0x00000002
Servercomputername Nein 0x00000020
Client-IP-Adresse Ja 0x00000004
Clientport Ja 0x00400000
Server-IP-Adresse Ja 0x00000040
Serverport Ja 0x00008000
Protokollversion Ja 0x00080000
Methode Ja 0x00000080
URI Ja 0x00800000
Benutzer-Agent Nein 0x00010000
Keks Nein 0x00020000
Referrer Nein 0x00040000
Gastgeber Nein 0x00100000
Protokollstatus Ja 0x00000400
SC-Bytes Nein 0x00001000
CS-Bytes Nein 0x00002000
Benötigte Zeit Nein 0x00004000
SiteId Ja 0x01000000
Grundausdruck Ja 0x02000000
Warteschlangenname Nein 0x04000000
Stream-ID Nein 0x????????

 

Zeit- und Datumsrollover

Standardmäßig wird eine neue HTTP-Fehlerprotokolldatei erstellt (als Dateirollover bezeichnet), wenn die aktuelle Protokolldatei eine angegebene Größe erreicht. Ab Windows Server 2003 mit SP1 können neue Fehlerprotokolldateien basierend auf Datum und Uhrzeit erstellt werden. Zeit- und Datumsrollover werden durch zwei neue Registrierungswerte gesteuert: ErrorLoggingRolloverType und ErrorLoggingLocaltimeRollover. Um den Zeit- und Datumsrollover zu aktivieren, müssen diese Registrierungswerte der Registrierung hinzugefügt werden. Der HTTP-Dienst muss neu gestartet werden, wenn diese Schlüssel der Registrierung hinzugefügt werden. Die Registrierungsschlüssel für den Protokolldateirollover werden unter dem folgenden Schlüssel erstellt:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            HTTP
               Parameters

Der ErrorLoggingRolloverType Registrierungsschlüssel gibt den gewünschten Rollovertyp an und ist standardmäßig auf größenbasierte Rollover festgelegt. Rollover kann auch auf tägliche, wöchentliche, monatliche oder stündliche Basis festgelegt werden. Wenn der Dateirollover auf Zeit basiert, gibt ein ErrorLoggingLocaltimeRollover Wert von 0 an, dass die Rolloverzeit in GMT ausgedrückt wird, und ein Wert von 1 gibt an, dass die Rolloverzeit in der Ortszeit ausgedrückt wird. Der ErrorLoggingRolloverType- Schlüssel kann einen Wert von 0 bis 4 annehmen, wie in der folgenden Tabelle aufgeführt.

Rollovertypwert Beschreibung
0 Größenbasiertes Rollover. Protokolldateien werden übertragen, wenn die Datei die im ErrorLogFileTruncateSize Registrierungsschlüssel definierte Größe erreicht.
1 Der Rollover der Protokolldatei erfolgt täglich.
2 Der Rollover der Protokolldatei erfolgt wöchentlich.
3 Der Rollover der Protokolldatei erfolgt monatlich.
4 Das Protokolldateirollover erfolgt stündlich.

 

Die Benennungskonventionen für Dateien, die die Fehlerprotokolle speichern, unterscheiden sich für größen-, datums- und zeitbasierte Rollover.The naming conventions for files that store the error logs are different for size, date, and time based rollover. In der folgenden Tabelle sind die Benennungskonventionen für HTTP-Protokolldateien aufgeführt.

Gebührenpflichtiger Typ Protokolldateiname Beschreibung
Größe HTTPERRn.LOG Die Protokolldatei wird wiederverwendet, wenn sie eine bestimmte Größe erreicht. n ist die Dateinummer und wird erhöht, wenn die Protokolldatei überrollt wird.
Täglich htYYMMDD.log Die Protokolldatei wird täglich wiederverwendet.
Wöchentlich htYYMMww.log Die Protokolldatei wird wöchentlich wiederverwendet, wobei ww die Woche des Monats ist.
Monatlich htYYMM.log Die Protokolldatei wird jeden Monat wiederverwendet.
Stündlich htYYMMDDhh.log Die Protokolldatei wird stündlich wiederverwendet, wobei "hh" die Stunde des Tages ist, der in 0-24 Stunden Notation ausgedrückt wird.