Analog installieren: Unterschied zwischen den Versionen
(veraltet, bitte löschen) |
KKeine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 14: | Zeile 14: | ||
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: | 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: | ||
< | <syntaxhighlight lang="shell"> | ||
mkdir doms/example.com/subs/www/statistik | |||
</ | </syntaxhighlight> | ||
Und gleich noch eines für die images: | Und gleich noch eines für die images: | ||
< | <syntaxhighlight lang="shell"> | ||
mkdir doms/example.com/subs/www/statistik/images | |||
</ | </syntaxhighlight> | ||
In das images-Verzeichnis kopieren wir gleich die nötigen Bilder, die schon bei uns liegen, nämlich in /usr/share/doc/analog/docs/: | In das images-Verzeichnis kopieren wir gleich die nötigen Bilder, die schon bei uns liegen, nämlich in /usr/share/doc/analog/docs/: | ||
< | <syntaxhighlight lang="shell"> | ||
cp /usr/share/doc/analog/docs/*.gif doms/example.com/subs/www/statistik/images | |||
</ | </syntaxhighlight> | ||
=== Konfiguration === | === Konfiguration === | ||
Zeile 30: | Zeile 30: | ||
* Hier wird angegeben, wo die Logfiles liegen: | * Hier wird angegeben, wo die Logfiles liegen: | ||
<syntaxhighlight lang="shell">LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz</syntaxhighlight> | |||
* Hier landet die Auswertung (ist also unter www.example.com/statistik/index.htm abrufbar): | * Hier landet die Auswertung (ist also unter www.example.com/statistik/index.htm abrufbar): | ||
<syntaxhighlight lang="shell">OUTFILE /home/doms/example.com/subs/www/statistik/index.htm</syntaxhighlight> | |||
* Das wird als Titelzeile angezeigt: | * Das wird als Titelzeile angezeigt: | ||
<syntaxhighlight lang="shell">HOSTNAME "example.com"</syntaxhighlight> | |||
* Hier liegen die images: | * Hier liegen die images: | ||
<syntaxhighlight lang="shell">IMAGEDIR images/</syntaxhighlight> | |||
Man speichert die Datei am besten im etc-Verzeichnis des Domain-Users, z.B. als analog.cfg. | Man speichert die Datei am besten im etc-Verzeichnis des Domain-Users, z.B. als analog.cfg. | ||
Zeile 44: | Zeile 44: | ||
Der Aufruf von analog erfolgt über die Kommandozeile: | Der Aufruf von analog erfolgt über die Kommandozeile: | ||
< | <syntaxhighlight lang="shell"> | ||
/usr/bin/analog -G +g./analog.cfg | /usr/bin/analog -G +g./analog.cfg | ||
</ | </syntaxhighlight> | ||
-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. | -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. | ||
Zeile 66: | Zeile 66: | ||
''''' | ''''' | ||
Das cachefile wird mit der Option CACHEOUTFILE definiert: | Das cachefile wird mit der Option CACHEOUTFILE definiert: | ||
< | <syntaxhighlight lang="shell"> | ||
CACHEOUTFILE cache20060720.ch | CACHEOUTFILE cache20060720.ch | ||
</ | </syntaxhighlight> | ||
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. | 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. | ||
Zeile 80: | Zeile 80: | ||
* Von den bisherigen Logfiles (LOGFILE) erstellen wir gleichzeitig ein cachefile (mit CACHEOUTFILE) und einen Report (mit OUTFILE). | * Von den bisherigen Logfiles (LOGFILE) erstellen wir gleichzeitig ein cachefile (mit CACHEOUTFILE) und einen Report (mit OUTFILE). | ||
< | <syntaxhighlight lang="shell"> | ||
... | ... | ||
LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz | LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz | ||
Zeile 86: | Zeile 86: | ||
OUTFILE /home/doms/example.com/subs/www/statistik/index.htm | OUTFILE /home/doms/example.com/subs/www/statistik/index.htm | ||
... | ... | ||
</ | </syntaxhighlight> | ||
* 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). | * 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). | ||
< | <syntaxhighlight lang="shell"> | ||
... | ... | ||
CACHEFILE cache20060720.ch | CACHEFILE cache20060720.ch | ||
OUTFILE /home/doms/example.com/subs/www/statistik/index2.htm | OUTFILE /home/doms/example.com/subs/www/statistik/index2.htm | ||
... | ... | ||
</ | </syntaxhighlight> | ||
* Die beiden erstellten Reportdateien können nun verglichen werden und sollten übereinstimmen. | * 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. | * 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. | Im folgenden analysieren wir das cachefile und zusätzlich alle neu einfließenden Logfiles, bis wir den Vorgang wiederholen. | ||
< | <syntaxhighlight lang="shell"> | ||
... | ... | ||
LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz | LOGFILE /home/doms/example.com/var/web-*.example.com-*.log.gz | ||
Zeile 104: | Zeile 104: | ||
OUTFILE /home/doms/example.com/subs/www/statistik/index.htm | OUTFILE /home/doms/example.com/subs/www/statistik/index.htm | ||
... | ... | ||
</ | </syntaxhighlight> | ||
Man kann das Verfahren natürlich prinzipiell automatisieren, z.B. mit cronjobs. Aber es empfiehlt sich immer die Kontrolle der generierten cachefiles. | Man kann das Verfahren natürlich prinzipiell automatisieren, z.B. mit cronjobs. Aber es empfiehlt sich immer die Kontrolle der generierten cachefiles. | ||
Zeile 113: | Zeile 113: | ||
* [[Goaccess]] | * [[Goaccess]] | ||
* [[Piwik Installieren|Piwik]] | * [[Piwik Installieren|Piwik]] | ||
[[Kategorie:Veraltet]] |
Aktuelle Version vom 15. Juli 2024, 10:25 Uhr
Analog
Achtung:
Das Programm Analog ist nicht mehr installiert und wird nicht mehr gepflegt.
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:
mkdir doms/example.com/subs/www/statistik
Und gleich noch eines für die images:
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/:
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.