Zum Inhalt springen

Diskussion:Apache/HTTP/Logging

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Postfix/sendmail » /home » wget » Debian/Release/Oldstable » Diskussion:Apache/HTTP/Logging
Version vom 7. April 2025, 14:48 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „http://“ durch „https://“)

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

  • 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 "https://www.mynet.de/" "Mozilla/4.0 (compatible; MSIE 6.0;
Windows  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

Logdateien

Konfiguration

Analyse

Log Dateien analysieren