Freigeben über


Erweiterte Protokollierung für IIS 8.5

von Gary Ericson

In IIS 8.5 hat der Administrator die Möglichkeit, zusätzliche benutzerdefinierte Felder aus Anforderungs- oder Antwortheadern oder von Servervariablen zu protokollieren.

Kompatibilität

Version Hinweise
IIS 8.5 und höher Die erweiterte Protokollierung wurde in IIS 8.5 eingeführt.
IIS 8.0 und früher Die erweiterte Protokollierung wurde vor IIS 8.5 nicht unterstützt.

Problem

Internetinformationsdienste (IIS) unter Windows Server 2012 bieten eingeschränkte Protokollierungsfunktionen für einen festen Satz von Standardfeldern, ohne Optionen für die Erweiterbarkeit oder Anpassbarkeit für die Protokollierung. Administratoren, die Felder über diesen Standardsatz hinaus protokollieren müssen, müssen ein benutzerdefiniertes Protokollierungsmodul erstellen.

Lösung

In IIS 8.5 und höher hat der Administrator die Möglichkeit, zusätzliche benutzerdefinierte Felder aus Anforderungs- oder Antwortheadern oder von Servervariablen zu protokollieren.

Schrittanweisungen

Konfigurieren der erweiterten Protokollierung für IIS 8.5 und höher

  1. Öffnen Sie den IIS-Manager.
  2. Wählen Sie den Standort oder Server im Bereich Verbindungen aus und doppelklicken Sie dann auf Protokollieren. Beachten Sie, dass die erweiterte Protokollierung nur für die Protokollierung auf Standortebene verfügbar ist – wenn Sie den Server im Bereich Verbindungen auswählen, ist der Abschnitt Benutzerdefinierte Felder des Dialogfelds W3C-Protokollierungsfelder deaktiviert.
  3. Wählen Sie im Feld Format unter Protokolldatei die Option W3C aus, und klicken Sie dann auf Felder auswählen....
    Select fields
  4. Klicken Sie im Dialogfeld W3C-Protokollierungsfelder auf Feld hinzufügen.... Beachten Sie, dass die erweiterte Protokollierung nur für die Protokollierung auf Standortebene verfügbar ist. Wenn Sie den Server im Bereich Verbindungen ausgewählt haben, ist Feld hinzufügen... deaktiviert.
    Add custom fields
  5. Geben Sie im Dialogfeld Benutzerdefiniertes Feld hinzufügen einen Feldnamen ein, um das benutzerdefinierte Feld in der Protokolldatei zu identifizieren. Beachten Sie, dass der Feldname keine Leerzeichen enthalten kann.
  6. Wählen Sie den Quelltyp aus. Sie können Anforderungsheader, Antwortheader oderServervariable auswählen (beachten Sie, dass die erweiterte Protokollierung keine Servervariable mit einem Namen protokollieren kann, der Kleinbuchstaben enthält. Um eine Servervariable in das Ereignisprotokoll einzuschließen, stellen Sie lediglich sicher, dass der Name nur aus Großbuchstaben besteht).
  7. Wählen Sie Quelle aus. Dies ist der Name der HTTP-Header- oder Servervariable (abhängig vom ausgewählten Quelltyp), der einen Wert enthält, den Sie protokollieren möchten. Sie können auch eine eigene benutzerdefinierte Quellzeichenfolge eingeben. Um beispielsweise den benutzerdefinierten HTTP-Header „X-FORWARDED-FOR“ aufzuzeichnen, geben Sie diese Zeichenfolge unter Quelle ein.
    Enter custom source
  8. Klicken Sie auf OK.
  9. Klicken Sie auf Feld hinzufügen... für jedes zusätzliche benutzerdefinierte Feld, das Sie hinzufügen möchten. Sie können auch auf Feld entfernen klicken, um ein benutzerdefiniertes Feld zu entfernen, das Sie hinzugefügt haben, oder auf Feld bearbeiten, um es zu bearbeiten.
  10. Klicken Sie auf OK.
  11. Klicken Sie auf Anwenden im Bereich Aktionen, um die neue Konfiguration anzuwenden.

Nachdem die benutzerdefinierten Felder konfiguriert wurden, erstellt IIS neue Textdateien mit „_x“, die an den Dateinamen angefügt sind, um anzugeben, dass die Datei benutzerdefinierte Felder enthält.

Beachten Sie, dass die Gesamtgröße der aus allen benutzerdefinierten Feldern gesammelten Daten 65.536 Byte nicht überschreiten kann. Wenn die Summe 65.536 Byte überschreitet, schneidet IIS die Daten ab.

Zusammenfassung

In diesem Handbuch haben Sie IIS so konfiguriert, dass den IIS-Protokollen benutzerdefinierte Felder hinzugefügt werden können.