{"id":6732,"date":"2012-04-05T23:59:07","date_gmt":"2012-04-05T21:59:07","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=6732"},"modified":"2019-10-09T02:51:41","modified_gmt":"2019-10-09T00:51:41","slug":"logdateien-von-lighttpd-auswerten-mit-awstats-und-awffull","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2012\/04\/05\/logdateien-von-lighttpd-auswerten-mit-awstats-und-awffull\/","title":{"rendered":"Logdateien von Lighttpd auswerten mit Awstats und Awffull"},"content":{"rendered":"<p>Neben dem ausgezeichneten <a href=\"http:\/\/de.piwik.org\/\">Piwik<\/a> existieren zur Darstellung von Benutzerstatistiken und Auswertung von Logdateien noch eine Reihe von sogenannten Log-Analysierern. Da ich die Installation von PHP und MySQL m\u00f6glichst vermeiden wollte, habe ich mir zwei altbekannte Helfer aus diesem Bereich n\u00e4her angeschaut. Hier stehen nur noch einmal die wichtigsten Einstellungen, die ich ver\u00e4ndert habe und ein kurzes Fazit.<\/p>\n<h2><a href=\"http:\/\/www.awstats.org\/\">Awstats<\/a><\/h2>\n<p>Das war meine erste Wahl, da mich die vielf\u00e4ltigen Funktionen auf der Webseite des Projekts \u00fcberzeugt hatten. Awstats ist haupts\u00e4chlich in Perl geschrieben und l\u00e4sst sich mit Hilfe eines CGI-Skripts in Echtzeit aktualisieren. Diese Funktionalit\u00e4t ben\u00f6tigte ich aber gar nicht und habe deshalb alle Statistikseiten mit Hilfe des mitgelieferten Skripts <em>buildstatic.sh<\/em> statisch generieren lassen. Die Funktion l\u00e4sst sich in <em>\/etc\/default\/awstats<\/em> aktivieren.<br \/>\nDie Konfiguration findet bei Debian z.B. in <em>\/etc\/awstats\/awstats.linuxiuvat.de.conf<\/em> statt. Man sollte die Standardkonfiguration von <em>awstats.conf<\/em> f\u00fcr sein eigenes Projekt dementsprechend umbenennen und nach <em>\/etc\/awstats<\/em> kopieren. Debian erstellt dann automatisch verschiedene Unterordner in <em>\/var\/cache\/awstats\/<\/em> auf Basis des Dateinamens. Um die Statistiken sp\u00e4ter darstellen zu k\u00f6nnen, m\u00fcssen diese Ordner f\u00fcr euer gew\u00fcnschtes Webserver-Verzeichnis freigegeben werden.<br \/>\nDie Konfiguration von Awstats ist \u00e4u\u00dferst gut dokumentiert. Die meisten Standardeinstellungen konnte ich beibehalten. Lediglich diese hier habe ich ge\u00e4ndert oder sind erw\u00e4hnenswert.<\/p>\n<blockquote><p># Pfad zur Logdatei<br \/>\nLogFile=\"\/var\/log\/lighttpd\/linuxiuvat.de\/access.log\"<br \/>\n# Webserver-Log deshalb Typ W<br \/>\nLogType=W<br \/>\n# Apache Logformat funktioniert auch mit Lighttpd<br \/>\nLogFormat=1<br \/>\n# Eure Domain und Aliase<br \/>\nSiteDomain=\"linuxiuvat.de\"<br \/>\nHostAliases=\"linuxiuvat.de www.linuxiuvat.de localhost 127.0.0.1\"<br \/>\n# Wir wollen die Namen der IP-Adressen nicht aufl\u00f6sen, weil es die Generierung der Statistiken verlangsamt<br \/>\nDNSLookup=0<br \/>\n# Regul\u00e4re Ausdr\u00fccke k\u00f6nnen unerw\u00fcnschte Begriffe oder Benutzeragenten herausfiltern<br \/>\nSkipUserAgents=\"REGEX[Python-urllib]\"<br \/>\n# Awstats l\u00e4sst sich durch eine Vielzahl von Plugins erweitern. Mit GeoIP l\u00e4sst sich die Herkunft der Besucher anzeigen<br \/>\nLoadPlugin=\"geoipfree\"<\/p><\/blockquote>\n<p>Damit die IP-Adressen nach L\u00e4ndern aufgel\u00f6st werden k\u00f6nnen, muss entweder die Bibliothek <a href=\"http:\/\/packages.debian.org\/libgeo-ipfree-perl\">libgeo-ipfree-perl<\/a> oder <a href=\"http:\/\/packages.debian.org\/libgeo-ip-perl\">libgeo-ip-perl<\/a> zus\u00e4tzlich installiert werden.<\/p>\n<h3>Statische Seiten generieren und ein kleiner Hack<\/h3>\n<p>Debian stellt in <em>\/usr\/share\/awstats\/tools\/<\/em> mit <strong>buildstatic.sh<\/strong> ein Skript zur Verf\u00fcgung, welches zum einen separate Awstats-Unterordner basierend auf den Konfigurationsdateien erstellt und zum anderen <em>awstats_buildstaticpages.pl<\/em> aufruft.<br \/>\nDie Statistiken werden in weiteren Ordnern nach Monaten sortiert. Damit jeder dieser Monats-Ordner noch eine index.html Datei erh\u00e4lt, muss dieser kleine Codeschnipsel am Ende der Datei hinzugef\u00fcgt werden.<\/p>\n<pre class=\"brush:perl\">print \"$cpt files built.n\";\nprint \"Main HTML page is 'awstats.$OutputSuffix.$StaticExt'.n\";\nmy $command=\"\/bin\/cp $OutputDir\" . \"awstats.$OutputSuffix.$StaticExt $OutputDir\" . \"index.html\";\n$retour=`$command 2&gt;&amp;1`;\nif ($QueryString =~ \/(^|-|&amp;)buildpdf\/i) { print \"PDF file is 'awstats.$OutputSuffix.pdf'.n\"; }\n0; # Do not remove this line<\/pre>\n<p>Den Tipp habe ich in <a href=\"http:\/\/eprints.utas.edu.au\/262\/1\/UTasER-awstats.pdf\">diesem PDF-Dokument<\/a> gefunden. Entscheidend ist die Zeile, die mit my $command beginnt und die normale Startseite in index.html umwandelt.<br \/>\nZus\u00e4tzlich sollte man noch einen Blick in <em>\/etc\/cron.d\/<\/em> werfen und \u00fcberpr\u00fcfen, wie oft Awstats und das zugeh\u00f6rige Update-Skript ausgef\u00fchrt werden sollen. Mir gen\u00fcgte die t\u00e4gliche Generierung der Statistiken.<\/p>\n<h2>Awffull<\/h2>\n<p>Awffull ist eine Abspaltung von <a href=\"http:\/\/www.webalizer.org\/\">Webalizer<\/a>, die einige Verbesserungen mit sich bringt. Awffull ist noch einfacher einzurichten. Es gen\u00fcgt ein typisches<br \/>\n<code>aptitude install awffull<\/code><br \/>\nund ein paar Ver\u00e4nderungen in <em>\/etc\/awffull\/awffull.conf<\/em>.<\/p>\n<blockquote><p># Pfad zur Logdatei<br \/>\nLogFile \/var\/log\/lighttpd\/linuxiuvat.de\/access.log<br \/>\n# Aufl\u00f6sung der IP-Adressen nach Herkunftsland<br \/>\nGeoIP          yes<br \/>\n# Pfad zur GeoIP-Datenbank<br \/>\nGeoIPDatabase   \/usr\/share\/GeoIP\/GeoIP.dat<br \/>\n# 404 - Fehler anzeigen lassen.<br \/>\nTop404Errors 10<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.maxmind.com\/app\/geoip_country\">Die GeoIP-Datenbank<\/a> f\u00fcr GeoIP ist frei und kostenlos und kann von maxmind.com heruntergeladen werden.<br \/>\nSollten die Logdateien sehr gro\u00df sein, sollte man in Erw\u00e4gung ziehen <em>Incremental<\/em> auf <em>yes<\/em> zu setzen. F\u00fcr ein kleines Projekt wie <a href=\"http:\/\/linuxiuvat.de\">linuxiuvat.de<\/a> ist das aber (noch) unn\u00f6tig. \ud83d\ude42<br \/>\nDie HTML-Dateien mit den Statistiken befinden sich danach in <em>\/var\/www\/awffull\/<\/em>.<\/p>\n<h2>Fazit<\/h2>\n<p>Beide Werkzeuge erf\u00fcllen vollkommen ihren Zweck. Awstats hat mehr Funktionen, ist umfangreicher und l\u00e4sst sich auch in Echtzeit per CGI-Skript aktualisieren. Awffull ist schlichter, sehr schnell und einfach einzurichten. Ich habe mich schlie\u00dflich f\u00fcr Awffull entschieden, da f\u00fcr mich der Informationsgehalt vollkommen ausreichend ist. Piwik bietet zus\u00e4tzlich z.B. noch Angaben \u00fcber die Bildschirmaufl\u00f6sung und eine Echtzeitfunktion, die ein Programm zur reinen Loganalyse nat\u00fcrlich nicht liefern kann. F\u00fcr jedes kleine Projekt tun es aber bedenkenlos auch Awstats und Awffull.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neben dem ausgezeichneten Piwik existieren zur Darstellung von Benutzerstatistiken und Auswertung von Logdateien noch eine Reihe von sogenannten Log-Analysierern. Da ich die Installation von PHP und MySQL m\u00f6glichst vermeiden wollte, habe ich mir zwei altbekannte Helfer aus diesem Bereich n\u00e4her angeschaut. Hier stehen nur noch einmal die wichtigsten Einstellungen, die ich ver\u00e4ndert habe und ein &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2012\/04\/05\/logdateien-von-lighttpd-auswerten-mit-awstats-und-awffull\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eLogdateien von Lighttpd auswerten mit Awstats und Awffull\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[53,107,108],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6732"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=6732"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6732\/revisions"}],"predecessor-version":[{"id":10714,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6732\/revisions\/10714"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=6732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=6732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=6732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}