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%inetpublogsLogFiles
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
. 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 - Microsoftfred [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