Archive for September, 2007

AWSTATS: Alte Log-Dateien nachträglich einbinden

Samstag, September 1st, 2007

Es ist mir passiert, daß ich erst nach der Einrichtung von awstats für einige Server festgestellt habe, daß mir einige ältere Log-Dateien fehlten. Der Wunsch des Kunden war es aber, auch diese in der Log-Auswertung sehen zu können. Gottlob waren die fraglichen Server erst vor kurzem eingerichtet worden, sodaß sich nur diese Log-Dateien in /var/log/apache2 fanden (Beispiel):

access-server1.log (das aktuelle Log)
access-server1.log.1
access-server1.log.2.gz (ab hier komprimiert)

access-server1.log.6.gz

Natürlich läßt sich das Problem bei größeren Mengen alter Log-Dateien mit einem eleganten Skript besser lösen, weil ich aber nicht so firm in der Erstellung von Skripten bin, habe ich einfach schnell alles von Hand gemacht. Und so läßt sich das Problem lösen:

1. Kopien der alten Log-Dateien in ein temporäres Verzeichnis

2. Entzippen dieser Dateien mit gunzip

3. Auskommentieren der entsprechenden Zeilen im Cronjob (bei mir in /etc/cron.d/awstats), damit nicht unversehens der cronjob dazwischen funkt.

4. Löschen der bisher schon vorhandenen Statistik-Dateien von awstats. Sie finden sich bei mir in /var/lib/awstats und heißen z.B. awstats062007.server1.txt (für den Statistik-File für Juni 2007 des Servers, dessen Konfigurationsdatei awstats.server1.conf heißt).

5. In chronologischer Reihenfolge wende ich dann awstats.pl an, z.B.:

/usr/lib/cgi-bin/awstats.pl – config=server1 -LogFile=“/var/log/apache2/tmp/access-server1.log.6″ -update

/usr/lib/cgi-bin/awstats.pl – config=server1 -LogFile=“/var/log/apache2/tmp/access-server1.log.2″ -update

6. Dann muß ich das noch für die beiden ursprünglich nicht komprimierten Dateien ausführen:

/usr/lib/cgi-bin/awstats.pl – config=server1 -LogFile=“/var/log/apache2/access-server1.log.1″ -update

und

usr/lib/cgi-bin/awstats.pl – config=server1 -update

7. Und zu guter letzt in cron.d die Auskommentierung noch wegnehmen, damit wieder regelmäßige Upadtes automatisch erfolgen können.

Und schon sind die Statistik-Angaben wieder aktuell und um die alten Log-Dateien ergänzt.

Natürlich sollte zum Abschluß das temporäre Verzeichnis noch geleert und gelöscht werden.

AWSTATS für mehrere Server verwenden

Samstag, September 1st, 2007

Es ist einfacher als ich dachte, awstats für mehrere – in diesem Fall virtuelle – Server einzurichten:

1. In der Apache-Konfiguration sollte zunächst dafür gesorgt werden, daß jeder virtuelle Server eine eigene Logdatei verwendet (z.B. access-server1.log).

2. Jetzt nimmt man einfach die vorhandene awstats.conf und kopiert sie in eine neue Konfigurationsdatei namens awstats.server1.conf.

3. In diesen conf-File ist nun noch der Name des Servers einzutragen (z.B. www.server1.de) und der Name (und der Pfad) zur dazu gehörigen Log-Datei (also z.B. /var/log/apache2/access-server1.log).

4. Jetzt muß ich noch awstats für server1 anwerfen. Bei mir
/usr/lib/awstats/awstats.pl -config=server1 -update

5. Und in die crontab den dazu gehörigen Eintrag einbauen (bei mir ist das in /etc/cron.d/awstats )

6. Der Aufruf über das Web lautet dann z.B. so: http://www.server1.de/cgi-bin/awstats.pl?config=server1

Das funktioniert natürlich bei beliebig vielen virtuellen Servern.