|
|
| Zeile 26: |
Zeile 26: |
| '''Apache2.4/11 Logging''' | | '''Apache2.4/11 Logging''' |
|
| |
|
| == Beschreibung ==
| |
| Log-Dateien sind ein wichtiges Hilfsmittel für Sicherheit, Webdesign beziehungsweise Webentwicklung und sogar für das Marketing
| |
| * Apache verfügt über ein äußerst flexibles Verfahren zum Erstellen von Log-Dateien
| |
|
| |
|
| Die erste Anlaufstelle bei Fehlern und Problemen ist die ErrorLog-Datei
| | <noinclude> |
| * Wenn Apache sich merkwürdig verhält, sollten Sie das LogLevel herabsetzen und sie genau beobachten
| |
| * Besonders bei der Einstellung Debug gibt Apache bereitwillig über jeden Arbeitsschritt Auskunft
| |
| * Das ist wertvoll bei der Fehlersuche sowie bei der Modulprogrammierung, sollte aber im Alltagsbetrieb natürlich nicht verwendet werden
| |
| | |
| Die Nutzer- und Erfolgsanalyse Ihrer Website können Sie mithilfe von Zugriffsstatistiken vornehmen
| |
| * Apache macht es Ihnen leicht, genau die Informationen zu sammeln, die Sie benötigen: Die Definition eigener Log-Formate kann zahlreiche Felder enthalten, die weit über das Common Log Format hinausgehen
| |
| | |
| Die Auswertung der fertigen Log-Dateien können Sie leicht mithilfe eigener Skripte vornehmen; die Perl-Beispiele in diesem Kapitel geben einen ersten Einblick in die verschiedenen Möglichkeiten
| |
| * Darüber hinaus gibt es noch zahlreiche vorgefertigte Hilfsmittel: Zum einen wird Apache mit Hilfsmitteln wie rotatelogs oder logresolve geliefert, zum anderen gibt es viele DrittanbieterTools, die besonders die Aufbereitung und Analyse Ihrer Logs erleichtern
| |
| * Eine
| |
| Auswahl davon finden Sie auf der beiliegenden DVD-ROM
| |
| | |
| Log-Dateien (»logfiles«, Protokolldateien) sind für den ernsthaften Betrieb einer Website sehr wichtig: Sie geben sowohl über das Besucherverhalten als auch über Fehler und sogar Angriffsversuche Auskunft
| |
| * Apache kann deshalb nicht nur einfache Log-Dateien im klassischen CLF-Format oder im NCSA-Stil erstellen, sondern bietet zahlreiche zusätzliche Möglichkeiten
| |
| * In diesem Kapitel werden zunächst die eingebauten Logging-Fähigkeiten und -Tools von Apache 2 vorgestellt; anschließend lernen Sie noch einige »selbst gestrickte« Perl-Skripte sowie Hilfsprogramme von Drittanbietern kennen
| |
| | |
| Traditionellerweise werden mindestens zwei Log-Dateien geführt: die FehlerLog-Datei (ErrorLog), in der sämtliche unerwünschten Vorkommnisse dokumentiert werden, und die Zugriffs-Log-Datei (TransferLog oder auch AccessLog), die alle Client-Zugriffe protokolliert
| |
| | |
| Die TransferLog-Datei besitzt üblicherweise entweder das Common Log Format (CLF) oder das erweiterte Log-Format des NCSA HTTPd (Combined Log Format)
| |
| | |
| Ein Eintrag im Common Log Format sieht beispielsweise so aus
| |
| 163.15.41.28 – - [29/Aug/2011:15:35:07 +0200] "GET / HTTP/1.1" 200 2263
| |
| | |
| Die Bedeutung der einzelnen Bestandteile wurde bereits in Kapitel 2, »Funktionsweise von Webservern«, erläutert
| |
| * Kurz gesagt handelt es sich um die IP-Adresse des Clients, die RFC-1413-Identität des entfernten Users (in aller Regel »–«, also nicht verfügbar), den Benutzernamen, das Datum und die Uhrzeit, die erste Zeile der HTTP-Anfrage, den HTTP-Statuscode sowie die Anzahl der Bytes im Antwort-Body
| |
| | |
| Das Combined Log Format enthält noch zwei zusätzliche Felder: den Referer (die URL der zuvor besuchten Seite) sowie den User-Agent (den Namen des ClientProgramms)
| |
| * Ein typischer Eintrag hat diese Form
| |
| 163.15.41.28 – - [29/Aug/2011:15:36:24 +0200] "GET /seite2.html HTTP/
| |
| 1.1" 200
| |
| 2326 "http://www.mynet.de/" "Mozilla/4.0 (compatible; MSIE 6.0;
| |
| Windows NT 4.0; .NET CLR 1.0.3705)"
| |
| | |
| In Apache können Sie das Format der Log-Einträge völlig frei definieren
| |
| * Sie sind also nicht auf diese beiden Standardformate angewiesen
| |
| * Da zahlreiche Auswertungs- und Weiterverarbeitungsprogramme allerdings diese Formate erwarten, lohnt es sich, auf jeden Fall eine TransferLog-Datei in einem dieser Formate zu führen und zusätzlich eine weitere Datei für Ihre Spezialanwendungen anzulegen
| |
| | |
| Das Format der ErrorLog-Datei entspricht dagegen dem UNIX-Systemstandard syslog: Jede Zeile enthält das Datum, die Dringlichkeit der Meldung (siehe weiter unten bei der Beschreibung der Direktive LogLevel) und eine Beschreibung des Fehlers
| |
| | |
| ; Beispiel
| |
| [Mon Aug 29 15:34:57 2011] [error] [client 145.82.41.93] File does not exist: /usr/local/apache2/htdocs/unavail.html
| |
| | |
| Seit Apache 2.4 existiert allerdings die neue Direktive ErrorLogFormat, mit der genau festgelegt werden kann, welche Informationen im ErrorLog abgelegt werden sollen
| |
| | |
| ; Direktiven und Module
| |
| In diesem Abschnitt werden die Logging-Bordmittel des Apache-Webservers vorgestellt
| |
| * Die Einstellungen für die ErrorLog-Datei sind aufgrund ihrer besonderen Wichtigkeit im Core definiert
| |
| * Die TransferLog-Optionen befinden sich im Modul mod_log_config, weitere im Modul mod_logio
| |
| * Recht neue Entwicklungen sind die Module mod_log_forensic für forensische Log-Dateien sowie mod_dumpio zur Protokollierung der gesamten Ein- und Ausgabe des Servers
| |
| * Daneben enthält das URL-Umwandlungsmodul mod_rewrite (siehe Kapitel 8, »Weiterleitungen und Indizes«) seine eigenen Logging-Direktiven, die in Abschnitt 11.1.6, »Logging-Direktiven in mod_rewrite«, vorgestellt werden
| |
| | |
| Ein etwas anderes Ziel verfolgt mod_usertrack: Es ermöglicht die Verfolgung einer Client-Session über Cookies
| |
| * Auch die Direktiven dieses Moduls werden in einem eigenen Abschnitt, und zwar in Abschnitt 11.1.5, »mod_usertrack«, behandelt
| |
|
| |
|
| <noinclude>
| |
| == Anhang == | | == Anhang == |
| === Siehe auch === | | === Siehe auch === |
Apache/HTTP/Logging - Beschreibung
Beschreibung
Logdateien
Konfiguration
Log Dateien analysieren
Anhang
Siehe auch
Links
Weblinks
TMP
Apache2.4/11 Logging
Anhang
Siehe auch
Links
Weblinks