Apache Access Log Formate - common, combined, combinedio, forensic - Vorteile und Tools zur Auswertung

Flattr this
Tweet this: Apache Access Log Formate - common, combined, combinedio, forensic - Vorteile und Tools zur Auswertung
Dent this: Apache Access Log Formate - common, combined, combinedio, forensic - Vorteile und Tools zur Auswertung
Datum: 16.10.2009 21:04:55

Apache bietet standardmäßig 2 verschiedene Formate für die Zugriffs-Log-Dateien an, das ist common und combined. In Kombination mit mod_logio (Üblicherweise mitkompiliert) kommt noch combinedio hinzu, mit mod_log_forensic steht auch das forensic-Format zur Verfügung und über die Direktive LogFormat ist es auch möglich seine eigenen Formate so zusammenstellen wie man braucht.

Der Unterschied zwischen den Formaten besteht in den Informationen die geloggt werden.

Das common-Format

Common bietet insgesamt am wenigsten Informationen an:

  • IP
  • Benutzer
  • Datum
  • Request
  • Statuscode
  • Größe

Die IP sollte klar sein, Benutzer wird im Falle einer Authentifizierung durch eines der Authentifikations-Module (mod_authn_alias, mod_authn_anon, mod_authn_dbd, mod_authn_default, mod_authn_file oder mod_authnz_ldap) des Apachen mit dem Benuternamen gefüllt, das Datum sollte auch klar sein. Der Request enthält Informationen über die Art des Requests (HEAD, GET, POST, PUT) den Pfad + Dokument + Parameter [GET] an den sich der Request gerichtet hat und ob es sich um HTTP 1.0 oder HTTP 1.1 handelt. Mit Größe ist die Anzahl an Bytes die das übertragende Dokument hat gemeint (ohne Header).

Das combined-Format

Combined baut auf Common auf und besitzt 2 zusätzlich Felder:

  • Referrer
  • UserAgent

Referrer wird dabei mit dem Wert des Referer-Headers gefüllt wenn der Client diesen mitsendet und UserAgent ist die Signatur des Browsers des Clients falls dieser den Header mitsendet.

Das combinedio-Format von mod_logio

Combinedio baut wie der Name schon erahnen lässt wiederrum auf Combined auf und erweitert dieses um 2 weitere Felder:

  • Input
  • Output

Input ist dabei die Anzahl an Bytes die bei der Anfrage des Clients an den Server über die Leitung gegangen sind, Output ist die Anzahl der Bytes der kompletten Antwort vom Server.

Im Gegensatz zur reinen Größe des Dokuments das auch in Common und Combined vorkommt, kommen hier auch die Header die der Client bei der Anfrage und der Server bei seiner Antwort mitsendet zum tragen, ausserdem erscheint hier auch der entstandene Traffic der durch Dateien die z.b. via Dateiupload hochgeladen wurden oder auch Dateien die via PUT (z.b. mod_svn) hochgeladen wurden.

Das forensic-Format von mod_log_forensic

Das Forensic-Format loggt zwar nicht wie combinedio die Größe der Header bei Request und Response, aber dafür alle Header und deren Werte. Jedem Request wird eine eindeutige ID zugewisen die im Log erscheint, ausserdem wird bei jedem Request doppelt geloggt einmal sobald der Request ankommt, also bevor er weiter ausgeführt wird und sobald die Antwort an den Client gesendet wurde.

Sollte also ein Request abgebrochen werden erscheint in der Log nur ein Eintrag.

Fazit

Combinedio erlaubt durch die zusätzlichen Werte für Input und Output die beste Auswertung des entstandenen Traffics, da bei Upload-Lastige Seiten wie z.b. ein paar meiner Tools, die Datei-Uploads einen großen Teil des Traffics ausmachen oder auch wenn ein Vhost z.b. mit USVN zum hosten von Subversion-Repositorys via https + webdav genutzt wird. Mit common und combined erhält man hier nur die Größe der abgerufenen Dokumente was teilweise wirklich nur ein Bruchteil des entstandenen Traffics ist.

Forensic hingegen macht Sinn wenn es sich um eine Sicherheitskritische Applikation handelt und Informationen über auftretende fehlerhafte Requests wichtig sind.

Tools zur Analyse von combinedio-Logs

Während sich common und combined vom standard-webalizer auswerten lassen, gilt das nicht für combinedio-Logs. Dazu muss man einen der Forks wie z.b. Webalizer Xtended von Patrick Frei oder Stone Steps Webalizer nutzen. Desweiteren kann auch Awstats mit combinedio-Logfiles umgehen.

Weitere Logs

Weitere Logs für andere Bereiche auf die ich hier nicht groß eingehe bietet der Apache Webserver übringends noch für Fehlermeldungen, mod_rewrite und mod_cgi. Bei den Fehlermeldungen lässt sich mit LogLevel einstellen welche Meldungen geloggt werden, bei mod_rewrite ist es über die Direktive RewriteLog und RewriteLogLevel möglich jede Rewrite-Aktion einer URL zu loggen und bei mod_cgi ist es über die ScriptLog Direktive möglich sämtliche Header und die Ausgabe jedes Aufruf eines cgi-Scriptes zu loggen.


Trackbacks (0)

Trackbackurl: http://www.robo47.net/trackback/text/41

Es sind keine Trackbacks vorhanden.


Kommentare (0)

Es sind noch keine Kommentare vorhanden.

Die Kommentare zu diesem Beitrag sind gesperrt.

You liked it ? Link it on your homepage or blog: