Webalizer: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(ausführlicher gemacht)
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Die Logfiles für den Webserver liegen üblicherweise unter /var/log/apache2/username/domainname.log
[[Category:Webserver]]
Um eine Webseitenstatistik zu erhalten, kann das Programm webalizer benutzt werden. Die folgende Anleitung beschreibt, wie Webalizer Statistiken für Ihre Website erstellen kann.


Um eine Webseitenstatistik zu erhalten, kann das Programm webalizer benutzt werden. Da wir logfiles automatisch per logrotate rotieren, benötigt man vorher noch ein Tool, welches die verschiedenen Logfiles zusammenführt (webalizer kann per default nicht auf mehrere logdateien zugreifen).
==Apache-Logfiles==


Eine solche Möglichkeit bietet zmergelog. Sind beispielsweise unter /var/log/apache2/meinuser/meinedomain.de.log die logfiles abgelegt, erhält man ein zusammengeführtes Log mit
Die Logfiles für die betreffende Domain bzw. Subdomain müssen vorab im Webinterface eingeschaltet werden und befinden sich dann unter '''/var/log/apache2/''username''/''domainname''.log'''. Die Dateien sind für den Benutzer lesbar, dem die Domain zugeordnet ist. Ob Sie vollständiges oder anonymes Logging verwenden ist hierfür egal.


<code>zmergelog /var/log/apache2/meinuser/meinedomain.de.log*</code>
In unserem Beispiel heißt der Benutzer ''benutzer'' und die Domain ist ''domain''.
 
 
==Ziel erstellen==
Webalizer erstellt die Statistiken als HTML-Website. D.h. Sie benötigen eine separate Subdomain oder ein Unterverzeichnis einer bestehenden Website, wo Sie die Statistiken speichern und dann abrufen können.
 
In unserem Beispiel soll die Statistik unter ''stats.domain'' verfügbar gemacht werden. Dazu wird eine separate Subdomain mit den Standardeinstellungen (Die Scriptsprache kann auf "keine Scriptsprache" eingestellt werden).
 
Das Verzeichnis in dem Webalizer die Daten ablegen soll ist in diesem Beispiel folglich ''/home/benutzer/websites/stats.domain/htdocs/''
 
 
==Rotierte Logfiles zusammenfassen==
 
Da wir alle logfiles automatisch per logrotate rotieren, benötigt man vorher noch ein Programm, welches die verschiedenen (gepackten) Logfiles entpackt und zu einer einzigen zusammenführt (webalizer kann selbst nicht auf mehrere und/oder gepackte logdateien zugreifen).
 
Eine solche Möglichkeit bietet ''zmergelog''. Sind beispielsweise unter ''/var/log/apache2/benutzer/domain.de.log'' die logfiles abgelegt, dann sind die rotierten, älteren Logfiles unter ''/var/log/apache2/benutzer/domain.de.log-*.gz'' zu finden. Man erhält ein zusammengeführtes Logfile mit
 
zmergelog /var/log/apache2/meinuser/meinedomain.de.log*
 
 
==Cron==


Ein Aufruf für webalizer in der crontab könnte etwa so aussehen:
Ein Aufruf für webalizer in der crontab könnte etwa so aussehen:


<code>17 3 * * * zmergelog /var/log/apache2/meinuser/meinedomain.de.log* |webalizer -p -Q -o /home/meinuser/~public_html/stats/ -</code>
17 3 * * * zmergelog /var/log/apache2/benutzer/domain.de.log* | \
  webalizer -p -Q -o /home/benutzer/websites/stats.domain/htdocs/ -
 
Mit diesem Eintrag wird die Statistik um 3:17 Uhr täglich erstellt. Bitte achten Sie bei der Wahl des Zeitpunktes auf folgende ''fair-use''-Regeln:
 
# Benutzen Sie ''ungerade'' Uhrzeiten (und nicht 3:17 Uhr). Wenn jeder die Statistiken zur vollen Stunde erzeugen lässt, laufen auf einen Schlag viele Webalizer (und andere Cron-Jobs) gleichzeitig los und die Server-Leistung bricht sichtbar ein. Bei ungeraden Uhrzeiten ist die Kollissionswahrscheinlichkeit viel geringer.
# Erzeugen Sie Statistiken bitte nur einmal täglich. In abgesprochenen Ausnahmefällen werden wir auch kürzere Intervalle erlauben, jedoch niemals öfter als alle 2 Stunden. Das Erzeugen der Statistiken ist ein sehr ressourcenintensiver Prozess.

Aktuelle Version vom 9. Februar 2009, 07:00 Uhr

Um eine Webseitenstatistik zu erhalten, kann das Programm webalizer benutzt werden. Die folgende Anleitung beschreibt, wie Webalizer Statistiken für Ihre Website erstellen kann.

Apache-Logfiles

Die Logfiles für die betreffende Domain bzw. Subdomain müssen vorab im Webinterface eingeschaltet werden und befinden sich dann unter /var/log/apache2/username/domainname.log. Die Dateien sind für den Benutzer lesbar, dem die Domain zugeordnet ist. Ob Sie vollständiges oder anonymes Logging verwenden ist hierfür egal.

In unserem Beispiel heißt der Benutzer benutzer und die Domain ist domain.


Ziel erstellen

Webalizer erstellt die Statistiken als HTML-Website. D.h. Sie benötigen eine separate Subdomain oder ein Unterverzeichnis einer bestehenden Website, wo Sie die Statistiken speichern und dann abrufen können.

In unserem Beispiel soll die Statistik unter stats.domain verfügbar gemacht werden. Dazu wird eine separate Subdomain mit den Standardeinstellungen (Die Scriptsprache kann auf "keine Scriptsprache" eingestellt werden).

Das Verzeichnis in dem Webalizer die Daten ablegen soll ist in diesem Beispiel folglich /home/benutzer/websites/stats.domain/htdocs/


Rotierte Logfiles zusammenfassen

Da wir alle logfiles automatisch per logrotate rotieren, benötigt man vorher noch ein Programm, welches die verschiedenen (gepackten) Logfiles entpackt und zu einer einzigen zusammenführt (webalizer kann selbst nicht auf mehrere und/oder gepackte logdateien zugreifen).

Eine solche Möglichkeit bietet zmergelog. Sind beispielsweise unter /var/log/apache2/benutzer/domain.de.log die logfiles abgelegt, dann sind die rotierten, älteren Logfiles unter /var/log/apache2/benutzer/domain.de.log-*.gz zu finden. Man erhält ein zusammengeführtes Logfile mit

zmergelog /var/log/apache2/meinuser/meinedomain.de.log*


Cron

Ein Aufruf für webalizer in der crontab könnte etwa so aussehen:

17 3 * * * zmergelog /var/log/apache2/benutzer/domain.de.log* | \
  webalizer -p -Q -o /home/benutzer/websites/stats.domain/htdocs/ -

Mit diesem Eintrag wird die Statistik um 3:17 Uhr täglich erstellt. Bitte achten Sie bei der Wahl des Zeitpunktes auf folgende fair-use-Regeln:

  1. Benutzen Sie ungerade Uhrzeiten (und nicht 3:17 Uhr). Wenn jeder die Statistiken zur vollen Stunde erzeugen lässt, laufen auf einen Schlag viele Webalizer (und andere Cron-Jobs) gleichzeitig los und die Server-Leistung bricht sichtbar ein. Bei ungeraden Uhrzeiten ist die Kollissionswahrscheinlichkeit viel geringer.
  2. Erzeugen Sie Statistiken bitte nur einmal täglich. In abgesprochenen Ausnahmefällen werden wir auch kürzere Intervalle erlauben, jedoch niemals öfter als alle 2 Stunden. Das Erzeugen der Statistiken ist ein sehr ressourcenintensiver Prozess.