KAPITEL 7
Protokollieren der Server-Aktivität
Sämtliche der in Microsoft Internet Information Server enthaltenen Dienste können so konfiguriert werden, daß Informationen darüber, wer auf den Server zugegriffen hat und welche Information abgerufen wurden, in einem Protokoll festgehalten werden. Diese Daten helfen Ihnen, Ihre Internet-Site genau einzustellen, die Anzahl der regelmäßigen Benutzerzugriffe vorauszusehen und zu planen, den Inhalt der Internet-Site zu bewerten und die Sicherheit zu gewährleisten.
Diese Protokollierfunktion für Internet Information Server wurde entwickelt, um die Flexibilität in folgenden Bereichen zu erhöhen:
- Auswahl der Speichermöglichkeiten:
Dateisystem oder Microsoft® SQL Server.
- Verschiedene Formate für Protokolldateien:
Standardformat, EMWAC (European Microsoft Windows NT Academic Centre)-Format oder NCSA (National Center for Supercomputing) Common Log File-Format.
- Pfad der Protokolldatei innerhalb des Systems.
- Erstellen neuer Protokolldateien:
Beim Protokollieren in eine Datei können neue Dateien immer dann erstellt werden, wenn die Dateien eine bestimmte Größe erreichen oder wenn ein neuer Tag, eine neue Woche oder ein neuer Monat anfängt.
In diesem Kapitel werden folgende Verfahren erläutert:
- Konfigurieren der Protokollierfunktion.
- Lesen der Protokolldateien.
- Anzeigen der Protokolle in Datenbanken.
- Konvertieren der Protokolldateien in andere Formate.
Beim Einrichten von Internet Information Server können Sie eine Protokollierfunktion aktivieren, um die Identität und Anzahl der Zugriffe auf Ihre Online-Informationen zu ermitteln und festzuhalten.
So konfigurieren Sie die Protokollierfunktion:
- Legen Sie fest, in welchem Ordner die Protokolle gespeichert werden sollen.
- Geben Sie an, in welchem zeitlichen Abstand die Protokollierung durchgeführt werden soll (jeden Tag, jede Woche, jeden Monat usw.).
- Wählen Sie die Zusatzprogramme aus, mit denen die auf Ihrem Server gespeicherten Protokolle analysiert werden sollen.
Doppelklicken Sie im Internet-Dienst-Manager auf den gewünschten Dienst, um die Eigenschaften des entsprechenden Dienstes in einem Dialogfeld anzuzeigen. Klicken Sie im Dialogfeld Eigenschaften des Dienstnamens für Computer-Name auf die Registerkarte Protokollieren, um das Protokollieren des gewählten Informationsdienstes einzustellen.
Um die Protokollierfunktion zu starten, aktivieren Sie im Dialogfeld Eigenschaften des Dienstnamens für Computer-Name in der Registerkarte Protokollieren das Kontrollkästchen Protokollieren aktivieren. Um das Protokollieren zu beenden, deaktivieren Sie dieses Kontrollkästchen wieder. Wählen Sie In Datei, um die Aktivitätsdaten des ausgewählten Informationsdienstes in einer Textdatei festzuhalten.
Mit dieser Option erstellen Sie auf der Grundlage der angegebenen Häufigkeit neue Protokolle. Ist diese Option deaktiviert, wird die bisherige Protokolldatei immer weiter anwachsen.
Mit dieser Option wird der Ordner (bzw. das Verzeichnis), in der die Protokolldateien enthalten sind, angegeben.
In diesem Feld wird der Name der aktuellen Protokolldatei angezeigt. Sind mehrere Dienste so konfiguriert, daß ihre Protokolldateien in demselben Verzeichnis gespeichert werden, dann wird auch dieselbe Datei verwendet.
So protokollieren Sie in eine Datei
1. Klicken Sie im Internet Dienst Manager auf einen Dienst, um seine Eigenschaften anzuzeigen. Danach klicken Sie auf die Registerkarte Protokollieren.
2. Aktivieren Sie das Kontrollkästchen Protokollieren aktivieren.
3. Wählen Sie die Option In Datei.
4. Um unter bestimmten Umständen ein neues Protokoll zu erstellen, aktivieren Sie das Kontrollkästchen Automatisch neues Protokoll öffnen.
Sobald die Protokolldatei eine bestimmte Größe erreicht hat bzw. eine bestimmte Zeitspanne abgelaufen ist, schließt der Dienst die bisherige Protokolldatei und erstellt im selben Ordner unter einem anderen Namen eine neue Protokolldatei. Dabei gelten folgende Dateinamen:
- Inetsv1.log, wenn die Option Automatisch neues Protokoll öffnen nicht aktiviert ist.
- Inetsvnnn.log (wobei nnn eine fortlaufende Folgenummer darstellt), wenn die Option Bei Dateigröße von aktiviert ist.
- Inmmddyy.log (wobei mmddyy dem aktuellen Monat, Tag oder Jahr der Erstellung der Datei entspricht), wenn eine der Optionen Täglich, Wöchentlich bzw.
Monatlich aktiviert ist.
Bei den Optionen Täglich, Wöchentlich bzw.
Monatlich wird die Datei geschlossen, sobald der Datei nach Mitternacht des letzten Tages ein Eintrag hinzugefügt wird. Der Name der neuen Protokolldatei enthält dann das Datum des ersten Tages dieser Datei.
Bei der Option Bei Dateigröße von wird dem Dateinamen der neuen Protokolldatei die nächst höhere Folgenummer hinzugefügt.
Beim Protokollieren in eine Datei beträgt die maximale Größe eines Protokolleintrags 1.200 Bytes. Dabei ist jedes Feld höchstens 150 Bytes groß.
Bei der Installation von Microsoft Internet Information Server ist die Standardmethode das Protokollieren in eine Datei. Möchten Sie die Protokolle aber lieber in einer Datenbank speichern, müssen Sie ODBC ab Version 2.5 installieren. Um zu den entsprechenden Seiten zu gelangen, sollten Sie den WWW-Dienst ausgeführt haben und in das Feld Adresse des Internet Explorers den Namen des lokalen Computers eingeben. Sie können aber auch nach dem im weiteren Verlauf dieses Kapitels beschriebenen manuellen Verfahren vorgehen.
Die besten Ergebnisse erzielen Sie, wenn Sie die Protokolle in einer Microsoft SQL Server-Datenbank ab Version 6.5 speichern. Möchten Sie die Protokolle nicht in einer Datenbank speichern bzw. den Internet-Datenbank-Connector eines Web Servers verwenden, sollten Sie überhaupt keine ODBC-Treiber installieren.
Aktivieren Sie die Option In SQL/ODBC-Datenbank, um die Informationen zur Protokollaktivität in einer ODBC (Open Database Connectivity)-kompatiblen Datenquelle zu speichern. Geben Sie in das Feld Name der ODBC-Datenquelle (DSN) und Tabelle die entsprechenden Einträge ein, und geben Sie den für das Protokollieren in diese Datenbank erforderlichen Benutzernamen bzw. das Kennwort in den Felder Benutzername und Kennwort ein.
Beim Protokollieren mit Hilfe von ODBC kann jedes Feld maximal 255 Bytes enthalten.
Anmerkung Durch das Protokollieren in eine Datenbank werden für die Dienste WWW (HTTP), FTP und Gopher-Anfragen mehr Zeit und Ressourcen benötigt. Wenn es also in Ihrem Standort viel Datenverkehr gibt, sollten Sie zur Steigerung der Leistung die Protokolle im Dateisystem speichern.
So bereiten Sie das manuelle Protokollieren in eine Datenbank vor
1. Erstellen Sie eine Tabelle, deren Felder die Ihrem Datenbanksystem, wie z. B. Microsoft SQL Server, entsprechende Größe aufweisen.
Bei Microsoft SQL Server gelten für die Feldgrößen einer Tabelle folgende Richtlinien:
ClientHost varchar(255), username varchar(255), LogTime datetime, service varchar(255), machine varchar(255), serverip varchar(50), processingtime int, bytesrecvd int, bytessent int, servicestatus int, win32status int, operation varchar(255), target varchar(255), parameters varchar(255)
Sie finden diese Werte im Ordner Inetsrv in der Datei Logtemp.sql.
2. Richten Sie auf Ihrem Server eine Datenbank ein und erstellen Sie einen System-DSN (Data Source Name).
Anmerkung Bei Microsoft® Access ist der System-DSN mit dem Dateinamen Ihrer Datenbank identisch.
So protokollieren Sie in eine Datenbank
1. Doppelklicken Sie im Internet Dienst Manager auf den Dienst, für den Sie eine Datenbank einrichten möchten.
2. Klicken Sie auf die Registerkarte Protokollieren.
3. Aktivieren Sie das Kontrollkästchen Protokollieren aktivieren.
4. Aktivieren Sie die Option In SQL/ODBC-Datenbank.
5. Geben Sie in das Feld Name der ODBC-Datenquelle (DSN) den System-DSN ein, den Sie im Schritt 2 des vorherigen Verfahrens hinzugefügt haben.
6. Geben Sie in das Feld Tabelle den Namen der Tabelle ein (nicht den Dateinamen der Tabelle).
7. Geben Sie in die Felder Benutzername und Kennwort den gültigen Benutzernamen und das Kennwort des Computers ein, auf dem die Datenbank gespeichert ist.
8. Klicken Sie auf Anwenden und dann auf OK.
Die nachfolgende Tabelle enthält drei Protokolleinträge von einem Server, auf dem die Dienste WWW, Gopher und FTP ausgeführt werden. Aufgrund der geringen Seitenbreite werden die Angaben in zwei Tabellen eingetragen.
Client-IP-Adresse |
Client-Benutzername |
Datum |
Zeit |
Dienst |
Computer-Name |
Server-IP-Adresse |
10.75.176.21 |
|
12/11/95 |
7:55:20 |
W3SVC |
TREY1 |
10.107.1.121 |
10.16.7.165 |
anonymous |
12/11/95 |
23:58:11 |
MSFTPSVC |
TREY1 |
10.107.1.121 |
10.55.82.244 |
|
12/11/95 |
0:00:34 |
GopherSvc |
TREY1 |
10.107.1.121 |
Abgelaufene Zeit |
Empfangene Bytes |
Gesendete Bytes |
Dienst Status-Code |
Windows NT Status-Code |
Name der Operation |
Ziel der Operation |
4502 |
163 |
3223 |
200 |
0 |
GET |
small.gif |
60 |
275 |
0 |
0 |
0 |
[376] PASS |
intro |
6139 |
273 |
62184 |
0 |
0 |
file |
form1.bmp |
Falls ein Vorgang einen Parameter benötigt, wird dieser im letzten Feld angezeigt.
Anmerkung Sämtliche Feldeinträge werden mit einem Komma (,) abgeschlossen. Ein Bindestrich dient als Platzhalter, wenn es für ein bestimmtes Feld keinen gültigen Wert gibt.
Um das Lesen von Protokolleinträgen zu veranschaulichen, kann der erste Tabelleneintrag folgendermaßen interpretiert werden: ein anonymer Client mit der IPAdresse 10.75.176.21 lud um 7.55 Uhr, am 11. Dezember, 1995, mit einem GET-Befehl die Datei Small.gif von einem Server mit dem Namen TREY1 und der IPAdresse 10.107.1.121 herunter. Die 163 Byte große HTTP-Anfrage wurde nach 4.502 Millisekunden, also nach fast einer halben Sekunde, fehlerfrei abgeschlossen und lieferte eine Datenmenge von 3.223 Bytes an den anonymen Client zurück.
Das folgende Beispiel zeigt eine Protokolldatei im NCSA-Format:
157.55.85.138 - REDMOND\doug [07/Jun/1996:17:39:04 -0800] "POST /iisadmin/default.htm?-, HTTP/1.0" 200 3401
Remote-Host-Name |
Client-Benutzername |
Datum |
Zeit |
157.55.85.138 |
REDMOND\doug |
07/Jun/1996 |
17:39:10 -0800 |
Anfrage |
Dienst-Status-Code |
Empfangene Bytes |
GET /scripts/iisadmin/ism.dll?http/serv, HTTP/1.0 |
200 |
5125 |
Sie können die Server-Aktivität mit Hilfe jeder ODBC-Datenbank protokollieren. Beim Protokollieren in eine Datenbank können Sie die Protokolle sämtlicher Internet Information Server-Dienste in eine einzige Datenbank umleiten.
Die in Ihrer Datenbank gespeicherten Protokolldaten können Sie mit Hilfe jeder ODBC-kompatiblen Anwendung anzeigen.
Darüber hinaus können Sie mit dem Internet-Datenbank-Connector die Protokolldaten in einem Web-Suchprogramm anzeigen.
Über den Internet-Dienst-Manager stehen zwei Formate für Protokolldateien zur Verfügung:
- Standardformat (Microsoft Professional Internet Services-Format).
- NCSA Common Log File-Format.
Klicken Sie im Dialogfeld Eigenschaften des Befehls Protokollieren im Feld Protokollformat auf den Pfeil und wählen Sie dann das von Ihnen gewünschte Protokollformat aus.
Wenn Sie die Protokolldateien für Microsoft Internet Information Server im Standardformat haben erstellen lassen und diese nun in das EMWAC-Protokolldateiformat bzw. in das NCSA Common Log File-Format konvertieren möchten, verwenden Sie den Microsoft Internet Protokoll-Konvertierer (Convlog.exe). Geben Sie in der Eingabeaufforderung den Befehl convlog ohne Parameter ein, um die Syntax und Beispiele des Befehls anzuzeigen.
So konvertieren Sie Protokolle in andere Formate
1. Fügen Sie die Datei Convlog.exe (in der Standardeinstellung im Ordner \Inetsrv enthalten) Ihrem Pfad hinzu.
2. Geben Sie in einem Eingabeaufforderungsfenster den Befehl convlog ein. Beachten Sie die folgende Syntax sowie die Beispiele.
convlog -s[f|g|w] -t [emwac | ncsa[:GMT-Abweichung] | keine]
-o [Ausgabeverzeichnis] -f [temp-Datei-Verzeichnis] -h Protokolldateiname
-d<m:[Cache-Größe]>
Gibt die Dienste an, für die die Protokolleinträge konvertiert werden sollen.
f = Protokolleinträge von FTP bearbeiten
g = Protokolleinträge von Gopher bearbeiten
w = Protokolleinträge von WWW bearbeiten
Der Standardparameter -s steht für die Protokolleinträge aller Dienste.
-t [emwac | ncsa[:GMT-Abweichung] | keine]
Gibt das Format an, in das die Protokolleinträge konvertiert werden sollen. Die Standardeinstellung ist das EMWAC-Format.
Gibt das Zielverzeichnis der konvertierten Dateien an. Die Standardeinstellung ist das aktuelle Verzeichnis.
-f [temp-Datei-Verzeichnis]
Gibt ein temporäres Verzeichnis an, in das die von convlog erstellten temporären Dateien kopiert werden. Die Standardeinstellung ist C:\Temp bzw. das mit der Variable tmp eingestellte Verzeichnis.
Gibt an, ob IP-Adressen in Computer- bzw. Domänennamen übersetzt werden sollen. Die Standardeinstellung ist keine Konvertierung der IP-Adressen.
m[Cache-Größe] = Gibt an, daß IP-Adressen in Computer-Namen übersetzt werden sollen. Die Standardeinstellung der Cache-Größe beträgt 5.000 Bytes.
i = Gibt an, daß IP-Adressen nicht in Computer-Namen übersetzt werden sollen.
Gibt den Namen der zu konvertierenden Protokolldatei an. Convlog zeigt den Namen der konvertierten Datei an.
Konvertiert im NCSA-Protokolldateiformat angegebene IP-Adressen in Computer- bzw. Domänennamen. Die Standardeinstellung ist keine Konvertierung der IP-Adressen. Die Standardeinstellung der Cache-Größe liegt bei 5.000 Bytes.
convlog -sf -t ncsa -o c:\logs in*.log
convlog -t ncsa:-0300 in*.log
convlog -o \\stats\logs c:\logs\in*.log
convlog -sfg in*.log
convlog -nm *.log
convlog -t none -nm:20000 *.log
© 1996 Microsoft Corporation. Alle Rechte vorbehalten.