ubuntuusers.de

Webalizer

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./webalizer_head.gif Das Programm Webalizer 🇬🇧 dient zur Auswertung der 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. Die beiden Projekte Webalizer Xtended 🇬🇧 und Stone Steps Webalizer 🇬🇧 sind Weiterentwicklungen des ursprünglichen Programms und lösen nicht nur dieses Problem.

Eine Alternative zu Webalizer ist AWStats, dessen Konfiguration allerdings um einiges komplexer ist. Noch umfangreichere Optionen zur Auswertung (u.a. eine Echtzeitanalyse) bieten die Projekte GoAccess 🇬🇧 und Piwik.

Installation

Wiki/Icons/synaptic.png Folgendes Paket muss installiert [1] werden:

  • webalizer (universe)

Paketliste zum Kopieren:

sudo apt-get install webalizer 

Oder mit apturl installieren, Link: apt://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

./webalizer_statistics.jpg 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, d.h. man kann z.B. 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:

sudo /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

  • über den Webserver mit

    • http://SERVER-IP/webalizer/

    • http://localhost/webalizer/ (nur auf dem Server selbst möglich)

Hinweis:

Webalizer verwendet in der Standardkonfiguration nicht die aktuelle Logdatei, sondern quasi die "vorletzte" Version. Diese Thematik wird im Artikel Logdateien (Abschnitt „Logrotate“) näher erläutert.

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 z.B. 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:

  • apache2-utils

Paketliste zum Kopieren:

sudo apt-get install apache2-utils 

Oder mit apturl installieren, Link: apt://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.

  1. Datenbank herunterladen:

    wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-geodb-latest.tgz 
  2. Nach /usr/share/GeoDB entpacken:

    sudo tar -xzf webalizer-geodb-latest.tgz -C /usr/share/GeoDB 
  3. In der /etc/webalizer/webalizer.conf muss dann die GeoDB noch aktiviert werden:

    GeoDB          yes
  4. 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.

Diese Revision wurde am 25. April 2019 22:52 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Internet, Server