Webalizer

Aus Foxwiki

Webalizer dient zur Auswertung von Webserver-Logdateien


...

  • die Webserver auf Basis von Besucheranfragen erstellen.
  • Die Software erzeugt Berichte im HTML-Format, die anschließend mit einem beliebigen Webbrowser betrachtet werden können. Demoseiten zeigen beispielhaft das Ergebnis einer solchen Auswertung, die in mehr als 30 Sprachen erfolgen kann.
  • Die konkret verwendete Sprache hängt von den Spracheinstellungen des verwendeten Rechners ab.

Häufig kritisiert wird bei Webalizer die fehlende Auswertung von 404-Fehlern, die besonders für Webmaster und -designer interessant ist.

Eine Alternative zu Webalizer ist AWStats, dessen Konfiguration allerdings um einiges komplexer ist.

  • Noch umfangreichere Optionen zur Auswertung (unter anderem eine Echtzeitanalyse) bieten die Projekte GoAccess und Piwik.

Installation

# apt-get install webalizer 

Konfiguration

Webalizer ist unter Ubuntu bereits passend für den Webserver Apache vorkonfiguriert, so dass man das Programm sofort einsetzen kann – vorausgesetzt, es sind Webserver-Logdateien vorhanden.

  • Wer selbst Hand anlegen will, nimmt Änderungen über die gut dokumentierte Konfigurationsdatei /etc/webalizer/webalizer.conf vor.
  • Zum Bearbeiten [2] dieser Datei werden Root-Rechte [3] vorausgesetzt.
  • Um Duplikate in den Logfiles zu ignorieren, wird folgende Option gesetzt:
Incremental yes
  • Verwendet man statt Apache den Server lighttpd:
LogFile /var/log/lighttpd/access.log.1
  • Und ein anderes Ausgabeverzeichnis (Standard: /var/www/webalizer/) wird so konfiguriert:
OutputDir /var/www/www.beispiel.de/webalizer

Verwendung

Das Programm besitzt keine grafische Oberfläche, sondern wird über einen Cronjob regelmäßig gestartet.

  • Bereits bei der Installation wird über die Datei /etc/cron.daily/webalizer festgelegt, dass Webalizer automatisch einmal pro Tag startet.
  • Es werden dabei alle .conf-Dateien unter /etc/webalizer/ verwendet, das heißt man kann zum Beispiel für jeden vHost eine separate anlegen.
  • Direkt nach der Installation und Anpassung der Konfigurationsdatei ist es sinnvoll, das Programm einmalig von Hand zu starten:
# /etc/cron.daily/webalizer 

Die Auswertung erfolgt normalerweise inkrementell, wodurch nur neue Log-Einträge berücksichtigt werden.

  • Weitere Informationen liefert die Manpage zum Programm.

Das Ergebnis kann mit einem Webbrowser auf zweierlei Arten betrachtet werden:* Öffnen der Datei /var/www/webalizer/index.html

Hinweis

Webalizer verwendet in der Standardkonfiguration nicht die aktuelle Logdatei, sondern quasi die "vorletzte" Version.

Problembehebung

Auswertung in englisch

Wie in der Einleitung erwähnt, richtet sich die in der Auswertung verwendete Sprache nach den Spracheinstellungen.

  • Dies führt unter Umständen zu dem unschönen Effekt, dass der manuelle Aufruf von Webalizer eine deutsche Auswertung, der automatische Aufruf über /etc/cron.daily/webalizer aber eine englische Auswertung ergibt.
  • Falls diese Situation auftritt, sollte man die systemweiten Spracheinstellungen (Abschnitt „Systemweite-nderung“) überprüfen.

HostnameLookups aktivieren

In der Monatsauswertung erscheint für die Länder (Countries oder Locations), aus denen Seiten abgerufen wurden, statt eines bunten Tortendiagramms nur ein einfarbiges mit der Aufschrift "unresolved/unknown (100%)".

  • Dieses scheinbare Fehlverhalten liegt nicht am Webalizer, sondern ist in der Konfiguration des Webservers begründet: jede Abfrage des Hostnamens erzeugt unnötigen "Traffic" auf dem Webserver.
  • Daher ist die Namensauflösung normalerweise abgeschaltet.

Um sie zum Beispiel für den Webserver Apache zu aktivieren, bearbeitet man mit Root-Rechten die Datei /etc/apache2/apache2.conf und ändert den Eintrag

HostnameLookups Off

in

HostnameLookups On

Anschließend muss der Webserver neu gestartet werden.

  • Diese Umstellung gilt nur für neue Log-Einträge.

Wer zusätzliche Abfragen während des Betriebs lieber vermeiden möchte, kann auch das Hilfsprogramm logresolv verwenden, um die Adressen im Nachhinein aufzulösen.

Dazu folgendes Paket installieren:

# sudo apt-get install apache2-utils

HostnameLookups offline nutzen

Als Alternative zur oben beschriebenen Methode oder wenn die Apache-Konfiguration nicht geändert werden soll/darf, kann die Offline-Geo-Auflösung verwendet werden.

  • Auf der Projektseite gibt es im Downloadbereich die Latest Webalizer GeoDB database ⮷ zum Herunterladen.
  • Die Hostauflösung geschieht dann ausschließlich mit Hilfe einer lokalen Geo-Datenbank.# Datenbank herunterladen:

wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-geodb-latest.tgz

  1. Nach /usr/share/GeoDB entpacken:
sudo tar -xzf webalizer-geodb-latest.tgz -C /usr/share/GeoDB 
  1. In der /etc/webalizer/webalizer.conf muss dann die GeoDB noch aktiviert werden:
GeoDB yes
  1. Der korrekte Pfad zur GeoDB kann ebenfalls in der Konfigurationsdatei von Webalizer angegeben werden, oder man schaut sich die Ausgabe von
webalizer -vV 

an, wie die Standard-Verzeichnisse lauten.

Links