Webalizer: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Lars (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
ausführlicher gemacht
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{category:Webserver}}
[[Category:Webserver]]
Um eine Webseitenstatistik zu erhalten, kann das Programm webalizer benutzt werden.  
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==
==Apache-Logfiles==


Die Logfiles für die einzelnen Domains werden auf Anfrage eingerichtet und befinden sich nach der Einrichtung  unter '''/var/log/apache2/''username''/''domainname''.log'''. Die Dateien sind für den Benutzer lesbar, dem die Domain zugeordnet ist.
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==
==Rotierte Logfiles zusammenfassen==
Zeile 10: Zeile 21:
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).
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/meinuser/meinedomain.de.log'' die logfiles abgelegt, erhält man ein zusammengeführtes Log mit
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*
  zmergelog /var/log/apache2/meinuser/meinedomain.de.log*


==Cron==
==Cron==
Zeile 18: Zeile 30:
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:


  17 3 * * * zmergelog /var/log/apache2/meinuser/meinedomain.de.log* | \
  17 3 * * * zmergelog /var/log/apache2/benutzer/domain.de.log* | \
   webalizer -p -Q -o /home/meinuser/~public_html/stats/ -
   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.