Was sind IIS Log?

Arfan Sharif - Mai 19, 2023

Internet Information Services (IIS) ist ein von Microsoft entwickelter Webserver, der zu den Windows Server-Diensten gehört.

IT-Teams und Webmaster nutzen IIS-Protokolle zur Ursachenanalyse von Fehlern in Webanwendungen. Doch diese Protokolle können mitunter recht undurchsichtig sein. Dies gilt insbesondere für komplexe, stark frequentierte Seiten. Der Webserver kann täglich zahlreiche ausführliche Protokolle generieren. Um die Informationen in diesen Protokollen sinnvoll nutzen zu können, müssen Sie die Daten verstehen. Nur mit den richtigen Tools lassen sich aussagekräftige Erkenntnisse gewinnen.

In diesem Artikel erfahren Sie, wie Sie Ihre IIS-Protokolle optimal nutzen können. Wir erläutern die verschiedenen Protokollformate, die wichtigsten Datenfelder, und wie eine zentralisierte Log-Management-Lösung Ihnen die Analyse von IIS-Protokollen erleichtern kann.

Tauchen wir nun tiefer in das Thema ein.

Was sind IIS-Protokolle?

IIS erstellt Protokolldateien für alle Websites, die damit bedient werden. Der Speicherort der Protokolldatei für eine IIS-gehostete Website lässt sich im Abschnitt „Protokollierung“ der Website einstellen. Wenn Sie IIS als Dienst auf einem Windows-Server ausführen, werden die Protokolldateien standardmäßig unter %SystemDrive%\inetpub\logs\LogFiles gespeichert. %SystemDrive% befindet sich in der Regel auf C:\.

Jede Website hat eine Site-ID. Der Unterordner für die Protokolldateien einer Website befindet sich im Hauptordner LogFiles und trägt den Namen W3SVC<SiteID>. Die IIS-Protokolle können auch mit der Windows Server-Ereignisanzeige angezeigt werden.

IIS-Protokolle werden automatisch aktiviert und in Azure-Cloud-Services für die Azure-Cloud gespeichert, müssen aber in den Azure App Services konfiguriert werden. Die Protokolldateipfade unterscheiden sich in beiden Fällen vom standardmäßigen Windows Server-Pfad.

IIS-Protokolle liefern wertvolle Daten darüber, wie Benutzer mit Ihrer Website oder Anwendung interagieren. Folgende nützliche Datenelemente sind unter anderem in IIS-Protokollen enthalten:

  • Die Quell-IP-Adresse
  • Aufgerufene Webseiten
  • URI-Abfragen
  • HTTP-Methoden
  • Zurückgegebene HTTP-Statuscodes

IIS-Protokolle können verschiedenen Zwecken dienen. Anwendungsentwickler nutzen sie beispielsweise, um Bugs und kritische Fehler in Webanwendungen zu beheben. SecOps-Teams untersuchen damit häufig ungewöhnliches Verhalten und potenziell böswillige Aktivitäten (z. B. DDoS-Angriffe) und IT-Teams können mit den Protokollen nach den Ursachen von HTTP-Fehlern oder langen Reaktionszeiten suchen.

IIS-Protokollformate

IIS bietet eine flexible Auswahl an Protokollierungsoptionen mit verschiedenen Protokollformaten. Die IIS-Protokollformate ermöglichen Ihnen, Protokollereignisfelder, Feldtrennzeichen und das Zeitformat festzulegen. Das Protokollformat für eine IIS-gehostete Website lässt sich ebenso wie der Speicherort der Protokolldatei im Abschnitt „Protokollierung“ der Website einstellen. Unabhängig vom ausgewählten Format werden alle Protokolle im ASCII-Code geschrieben. Die folgende Tabelle zeigt eine allgemeine Übersicht über die IIS-Protokollformate:

Art Standard Anpassbare Felder Trennzeichen Zeitformat Kompatibel mit FTP
W3C Ja Ja Leerzeichen UTC Ja
IIS Nein Nein Komma Ortszeit Ja
NCSA Nein Nein Leerzeichen Ortszeit Nein

W3C-Format

W3C ist das Standardformat für IIS-Protokolle. Es lässt eine freie Auswahl der Felder zu, wodurch die Protokollgröße möglichst klein bleibt. Die Zeit wird im UTC-Format festgehalten. Der folgende Ausschnitt zeigt eine IIS-Protokolldatei im W3C-Format.

#Software: Internet Information Services 6.0 #Version: 1.0 #Date: 2001-05-02 17:42:15 #Fields: time c-ip cs-method cs-uri-stem sc-status cs-version 17:42:15 172.16.255.255 GET /default.htm 200 HTTP/1.0 

IIS-Format

Das IIS-Format ist weniger flexibel, da die enthaltenen Felder nicht angepasst werden können. Allerdings wird hier das Dateiformat CSV verwendet, das sich problemlos parsen lässt. Die Zeit ist die Ortszeit des Servers. Der nachfolgende Ausschnitt zeigt zwei Protokollereignisse im IIS-Format.

192.168.114.201, -, 03/20/01, 7:55:20, W3SVC2, SALES1, 172.21.13.45, 4502, 163, 3223, 200, 0, GET, /DeptLogo.gif, -, 172.16.255.255, anonymous, 03/20/01, 23:58:11, MSFTPSVC, SALES1, 172.16.255.255, 60, 275, 0, 0, 0, PASS, /Intro.htm, -,

NCSA Common Log File-Format

Das NCSA-Format ist ein weiteres festes Format, das keine Anpassung von Ereignisfeldern erlaubt. Es ist einfacher aufgebaut als das IIS- und W3C-Format und enthält nur grundlegende Informationen wie Benutzername, Uhrzeit, Anfragetyp und HTTP-Statuscode. Die Zeit wird in der Ortszeit des Servers angegeben. Der folgende Ausschnitt zeigt ein Beispiel:

172.21.13.45 - Microsoft\fred [08/Apr/2001:17:39:04 -0800] "GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0" 200 3401

Inhalt des IIS-Protokolls

Einträge in IIS-Protokolldateien können je nach Format unterschiedliche Felder enthalten. In der nachfolgenden Tabelle sehen Sie eine Auswahl dieser Felder:

Feldname Beschreibung Beispiel für ein Anwendungsszenario
Datum und Uhrzeit (date and time) Datum und Uhrzeit der Client-Anfrage Hier stehen das Datum und die Uhrzeit einer Client-Anfrage. Diese können mit anderen Protokollen (z. B. Anwendungsprotokollen) korreliert werden, um nähere Informationen zur Ursache eines Problems zu finden.
Client-IP-Adresse (c-ip) IP-Adresse des Website-Clients Damit können Sie Standorte oder bestimmte Server nachverfolgen. Zudem lassen sich damit verdächtige Quellen identifizieren.
Benutzername (cs-username) Der Benutzer, der die Anfrage stellt; anonyme Benutzer werden mit einem Bindestrich „-“ dargestellt Damit können anwendungsbezogene Probleme für bestimmte Benutzer identifiziert werden, insbesondere bei Intranetanwendungen.
Methode (cs-method) HTTP-Anfrage (z. B. GET, POST, PUT) Dient zur Nachverfolgung der Benutzeraktion.
Gesendete und empfangene Bytes (sc-bytes, cs-bytes) Anzahl der vom Server gesendeten und empfangenen Bytes Dient zur Ermittlung des Bandbreitenbedarfs oder zur Nachverfolgung von verdächtigem Verhalten, falls mehr Bytes als gewöhnlich gesendet werden.
Benötigte Zeit (time-taken) Zeit in Millisekunden bis zur Ausführung der Anfrage Kann bei der Ursachenanalyse von Website-Latenzproblemen helfen.
Benutzeragent (cs(User-Agent)) Vom Client verwendeter Browsertyp Gewährt Einblicke in Browsertypen bei der Behebung möglicher Kompatibilitätsprobleme.
Protokollstatus (sc-status) Statuscode der HTTP-Anfrage Kann bei der Ursachenanalyse von Website-Fehlern helfen.
Referrer (cs(Referrer)) Die Website, die den Benutzer auf diese Website geleitet hat Ist je nach Benutzerinteraktion hilfreich beim Anpassen von Website-Inhalten.

Warum sollten Sie eine Log-Management-Lösung für IIS-Protokolle verwenden?

Ein ausgelasteter IIS-Server kann dutzende Websites hosten, von denen jede mehrere Protokolldateien besitzt. Die Protokolldateien der einzelnen Websites manuell herunterzuladen, zu lesen und Probleme zu identifizieren ist weder machbar noch sinnvoll. Daher ist eine Log-Management-Lösung die weitaus bessere Option, die zudem noch weitere Vorteile bietet.

Zentralisierung

Eine Log-Management-Lösung kann IIS-Protokolldateien automatisch erfassen, analysieren, katalogisieren, komprimieren und aufbewahren. Dies spart Speicherplatz auf den Webservern und Sie müssen sich nicht manuell bei jedem Server anmelden, um die Protokolle zusammenzutragen.

Kontext

Log-Management-Systeme reichern Daten mit zusätzlichem Kontext an. Dabei werden beispielsweise Protokollereignissen Standortdaten aus der Quell-IP-Adresse oder andere Kontextinformationen hinzugefügt, wodurch sich Probleme schneller erkennen lassen.

Suche und Analyse

Log-Management-Lösungen erleichtern das Durchsuchen, Filtern, Ordnen, Gruppieren und Analysieren von Protokollereignissen. Das ist hilfreich, wenn Sie zum Beispiel nur an den HTTP-Statuscodes 4xx und 5xx interessiert sind. Einige Tools verwenden gängige Abfragesprachen wie SQL, andere wiederum ihre proprietären Sprachen. In den meisten Fällen können häufig verwendete Suchanfragen gespeichert werden.

Korrelation

Durch das Zusammenführen all Ihrer Protokolle können Sie Ereignisse aus verschiedenen Systemen korrelieren. Sie könnten beispielsweise die IIS-Protokolle mit Netzwerkprotokollen korrelieren, um herauszufinden, ob Netzwerklatenz die Leistung einer Website beeinträchtigt. Zudem hätten Sie die Möglichkeit, korrelierte IIS- und Authentifizierungs-Protokolle mit einer KI zu analysieren, um verdächtiges Benutzerverhalten zu identifizieren.

VISUALISIERUNG

Die meisten Log-Management-Lösungen bieten die Möglichkeit, Trends aus Ereignissen, Diagrammen, Widgets und Dashboards zu erstellen, und somit die Fehlerbehebung zu vereinfachen. So können Sie beispielsweise schnell Spitzen von Benutzeranfragen anhand eines Diagramms erkennen und diese mit einer Geolokalisierungskarte korrelieren, um die Quelle des Datenverkehrs zu ermitteln.

Warnungen

Log-Management-Lösungen bieten auch die Möglichkeit, Warnungen für in Protokolldateien erkannte Anomalien einzurichten. Wenn zum Beispiel über 1.000 GET-Anfragen innerhalb einer Minute erfolgen, kann eine Warnung ausgelöst werden, um vor einem möglichen DDoS-Angriff zu warnen.

Vollständige Protokollierung und Einblicke – kostenlos

Falcon LogScale Community Edition (ehemals Humio) ist eine kostenlose moderne Log-Management-Plattform für die Cloud. Durch die Erfassung von Streaming-Daten erhalten Sie einen sofortigen Überblick über verteilte Systeme und können Zwischenfälle verhindern bzw. beheben.

Falcon LogScale Community Edition ist sofort kostenlos verfügbar und bietet folgende Vorteile:

  • Erfassung von bis zu 16 GB pro Tag
  • Speicherung bis zu 7 Tage
  • Keine Kreditkarte erforderlich
  • Unbegrenzter Zugriff ohne Testzeitraum
  • Indexlose Protokollierung, Echtzeit-Warnungen und Live-Dashboards
  • Zugriff auf unseren Marktplatz und zugehörige Pakete, einschließlich Leitfäden zur Entwicklung neuer Pakete
  • Lernen und Kooperation in einer aktiven Gemeinschaft

Kostenlos testen

INFORMATIONEN ZUM AUTOR

Arfan Sharif ist Product Marketing Lead für das Observability-Portfolio bei CrowdStrike. Er verfügt über mehr als 15 Jahre Erfahrung bei der Umsetzung von Lösungen für Log-Management, ITOps, Beobachtbarkeit, Sicherheit und Benutzerunterstützung für Unternehmen wie Splunk, Genesys und Quest Software. Arfan Sharif hat einen Abschluss in Informatik bei der Buckinghamshire New University und blickt auf eine Karriere in den Bereichen Produktmarketing und Sales Engineering zurück.