Analog installieren

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Analog

Vorbereitung

Analog ist ein Tool zur Analyse von logfiles. Damit lässt sich der Traffic auf den Sites genau darstellen. Das kann auch automatisch gemacht werden.

Analog ist bei Hostsharing zentral installiert.

Am einfachsten ist es, analog im Verzeichnis des Domain-Users auszuführen, also als Domain-User einloggen. Vorher muss man aber sicherstellen, dass die Logfiles auch dort abgelegt werden. Normalerweise landen diese nämlich im Paket-Verzeichnis. Wie man die Ablegung steuert, ist logging beschrieben.

Am besten, man lässt die logfiles in das Verzeichnis doms/example.com/var fließen.

Es macht Sinn, für die Statistiken ein eigenes Verzeichnis anzulegen, das auch per http erreichbar ist, also z.B. http://www.example.com/statistik. Also erstellen wir ein neues Verzeichnis:

xyz00-doms@hopi:~$ mkdir doms/example.com/subs/www/statistik

Und gleich noch eines für die images:

xyz00-doms@hopi:~$ mkdir doms/example.com/subs/www/statistik/images

In das images-Verzeichnis kopieren wir gleich die nötigen Bilder, die schon bei uns liegen, nämlich in /usr/share/doc/analog/docs/:

xyz00-doms@hopi:~$ cp /usr/share/doc/analog/docs/*.gif doms/example.com/subs/www/statistik/images

Konfiguration

Als nächstes muss man eine config-Datei für Analog erstellen. Genaueres dazu ist auf www.analog.cx nachzulesen. Eine Beispielconfig gibt es hier. Nachstehend die wichtigsten Anpassungen.

  • Hier wird angegeben, wo die Logfiles liegen:
 LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz
  • Hier landet die Auswertung (ist also unter www.example.com/statistik/index.htm abrufbar):
 OUTFILE /home/doms/example.com/subs/www/statistik/index.htm
  • Das wird als Titelzeile angezeigt:
 HOSTNAME "example.com"
  • Hier liegen die images:
 IMAGEDIR images/
 

Man speichert die Datei am besten im etc-Verzeichnis des Domain-Users, z.B. als analog.cfg.

Aufruf

Der Aufruf von analog erfolgt über die Kommandozeile:

/usr/bin/analog -G +g./analog.cfg

-G weist analog an, nicht die Standardconfig zu verwenden, und +g weist eine eigene config-Datei zu - in diesem Fall unsere analog.cfg. Fehler oder Warnungen landen in errors.txt.

Interessant wird analog aber erst dann, wenn man die logfiles automatisch auswertet. Das funktioniert mit einem cronjob.

Mit dem Eintrag im crontab 0 3 * * * /usr/bin/analog -G +g./analog.cfg wird jeden Tag um 3.00 Uhr eine neue Statistik gebastelt.

Noch schöner ist es, die Zeitsteuerung mit unserem Eventhandler zu lösen. Damit kann man nämlich festlegen, dass die Auswertung direkt nach dem Verschieben oder Erzeugen der Logfiles erfolgt.

Diese ist dann unter www.example.com/statistik/index.htm zu erreichen.

Caching

Mit dem Caching können Logfileanalysen in einem cachefile gespeichert und in spätere Analysen einbezogen werden. So ist es z.B. möglich, alte Logfiles auf dem Server zu löschen, um Platz zu sparen.

Aber Vorsicht: Man muss aufpassen, dass im cachefile alle gewünschten Informationen landen. Eine Rekonstruktion zusätzlicher, nicht geschriebener Daten ist nicht mehr möglich.

Es müssen alle INCLUDE und EXCLUDE Kommandos gesetzt sein, auch FROM und TO. Auch alle ALIASEs und LOGTIMEOFFSETs müssen beim Schreiben des cachefiles wie gewünscht gesetzt werden.

Das cachefile wird mit der Option CACHEOUTFILE definiert:

CACHEOUTFILE cache20060720.ch

Sollte die Datei bereits vorhanden sein, wird kein cachefile erzeugt, um ein Überschreiben zu vermeiden. Es empfiehlt sich also, das Datum im Namen der Datei anzugeben.

Hat man das cachefile geschrieben und enthält es alle gewünschten Informationen, kann man es in eine nachfolgende Analyse einfließen lassen. Das geschieht mit der Option CACHEFILE. Wildcards und Kommas sind möglich:

CACHEFILE cache20060720.ch,cache2.ch,cache*.ch

Ablauf

Da häufig Fehler und Missverständnisse auftreten, was die Benutzung von Caching angeht, hier ein möglicher Ablauf:

  • Von den bisherigen Logfiles (LOGFILE) erstellen wir gleichzeitig ein cachefile (mit CACHEOUTFILE) und einen Report (mit OUTFILE).
...
LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz
CACHEOUTFILE cache20060720.ch
OUTFILE /home/doms/example.com/subs/www/statistik/index.htm
...
  • Das cachefile sollten wir testen. Wir erstellen einfach einen neuen Report, in dem wir nur das cachefile analysieren und nicht mehr die alten Logfiles (also kein LOGFILE).
...
CACHEFILE cache20060720.ch
OUTFILE /home/doms/example.com/subs/www/statistik/index2.htm
...
  • Die beiden erstellten Reportdateien können nun verglichen werden und sollten übereinstimmen.
  • Nun können die Logfiles gelöscht oder (noch besser) lokal gespeichert und damit Platz auf dem Server geschaffen werden.

Im folgenden analysieren wir das cachefile und zusätzlich alle neu einfließenden Logfiles, bis wir den Vorgang wiederholen.

...
LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz
CACHEFILE cache20060720.ch
OUTFILE /home/doms/example.com/subs/www/statistik/index.htm
...

Man kann das Verfahren natürlich prinzipiell automatisieren, z.B. mit cronjobs. Aber es empfiehlt sich immer die Kontrolle der generierten cachefiles.

Weitere WebStatistik Tools bei HS

---