BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Apache Logdateien auf der Kommandozeile auswerten

Mit Hilfe von snowlog können Zugriffslogdateien des Apache Webservers auf der Kommandozeile ausgewertet werden. Im FreeBSD Portbaum findet man snowlog unter sysutils/snowlog:

# cd /usr/ports/sysutils/snowlog && make install clean

Damit eine Logdatei ausgewertet werden kann, muss zuerst in der httpd.conf ein neues Logformat definiert und eine zusätzliche Logdatei konfiguriert werden. Für eine Standard-Apache 2 Konfiguration fügt man folgende zwei Zeilen zum Beispiel in eine vhost Konfiguration in /usr/local/etc/apache2/httpd.conf ein:

LogFormat "%a\t%l\t%u\t%{%s}t\t%r\t%>s\t%X\t%{Content-Type}o\t%b\t%{Referer}i\t%{User-Agent}i\t%V\t%{LogHint}e" parsable
CustomLog /var/log/httpd-access-parsable-vhost.log  parsable

Danach muss die Konfiguration neu eingelesen werden:

# /usr/local/etc/rc.d/apache2 configtest
Performing sanity check on apache2 configuration:
Syntax OK
# /usr/local/etc/rc.d/apache2 graceful

Mit der -f Option kann snowlog die Logdatei übergeben werden. Die in der Logdatei enthaltenen Anfragen werden nun nach IP-Adresse sortiert. Mit der Pfeil nach unten und der Pfeil nach oben Taste kann durch die einzelnen Anfragen navigiert werden. Dabei werden im unteren Teil des Terminals verschiedene Informationen zur Anfrage angezeigt:

# snowlog -f /var/log/httpd-access-parsable-vhost.log
* Snowlog 1.1.1
 xx.xx.102.187  -                                                                                                                      
   /                                                                                                                                   304
   /files/images/blog/kde4.png                                                                                                         200
   /                                                                                                                                   200
   /links/                                                                                                                             200
   /themes/2-cols/buttons/rss.png                                                                                                      200
   /themes/chrueterng/buttons/rss.png                                                                                                  200
   /files/images/chrueterteeBSD_hellgruen.png                                                                                          200
   /links/maintainer/                                                                                                                  200
   /freebsd/                                                                                                                           200
 xx.xx.144.157   http://www.google.com/reader/view/
   /files/images/blog/kde4_thumb.png                                                                                                   200
 xx.xx.231.88   Google: freebsd dbus_enable xorg 2009
   /blog/archive/2009/01/25/tastaturlayout-nach-aktualisieren-des-xorg-servers-auf-1-5-3-konfiguieren.html                             200
   /themes/chrueterng/css/mobile.css                                                                                                   200
   /themes/chrueterng/css/main_chrueter.css                                                                                            200
   /favicon.ico                                                                                                                        200
   //themes/chrueterng/buttons/freebsd.png                                                                                             200
   //themes/chrueterng/buttons/chruetertee.png                                                                                         200
   //themes/chrueterng/buttons/rss.png                                                                                                 200
   /themes/chrueterng/buttons/comments.png                                                                                             200
   /files/images/logo.jpg                                                                                                              200
   //themes/chrueterng/buttons/xhtml10.png                                                                                             200
   /dynimages/gravatar/5a3fde99fe127a44bec6d05cb9190975?gravatar_id=5edbb08fd0cd2ea894f67f801725b4c6&border=aaaaaa&rating=X&size=40    200
   /dynimages/gravatar/2b2e73a0b373fd724b7d9d726b4f052f?gravatar_id=a66a582a1fcacd1032b43ad670088e24&border=aaaaaa&rating=X&size=40    200
   /blog/freebsd/                                                                                                                      200
   /files/images/blog/kde4_thumb.png                                                                                                   200
   /blog/archive/2009/01/25/tastaturlayout-nach-aktualisieren-des-xorg-servers-auf-1-5-3-konfiguieren.html                             304
----------------------------------------------------------------------------------------------------------------------------------------------
 Line 423/646
 GET     /blog/archive/2009/01/25/tastaturlayout-nach-aktualisieren-des-xorg-servers-auf-1-5-3-konfiguieren.html                       200
 Sat Feb  7 16:20:09 2009                                                                                                  text/html, 5 KB
 Firefox/3.0.6 (Windows)
 www.chruetertee.ch
 http://www.google.de/search?hl=de&client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&hs=gs9&q=freebsd+dbus_enable+xorg+2009&btnG=Suche&meta=
----------------------------------------------------------------------------------------------------------------------------------------------
 557 requests from 89 hosts (11.16 MB). (H)elp.   

In der Datei ~/.snowlog/filters können verschiedene Filter definiert werden. Der Name des Filters wird dabei in eckigen Klammern angegeben. Folgendes Beispiel definiert einen Filter, der alle Anfragen bis auf Anfragen von XML-Dateien anzeigt und einen weiteren Filter, der alle Anfragen anzeigt, welche den HTTP-Statuscode 404 hatten. Drückt man nun in snowlog die Taste f, werden alle Filter angezeigt. Durch Auswählen der entsprechenden Filternummer wird der Filter angewendet:

[without RSS feeds]
request     !xml

[404]
httpstatus  =404

Befinden sich zum Beispiel Refferer-Spamer unter den Anfragen, navigiert man mit den Pfeiltasten zu der entsprechenden Anfrage und drückt die s-Taste. Dadurch werden alle Anfragen der Absender-IP-Adresse und des Refferers nicht mehr angezeigt. Durch das Drücken der q Taste verlässt man snowlog wieder. Mehr Informationen zu snowlog und den Filtermöglichkeiten findet man in der Manpage snowlog(1).

 Permalink

Comments

No new comments allowed (anymore) on this post.