[linux-l] apachelogs wohlgeordnet archivieren aus logrotate

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mi Aug 6 13:39:48 CEST 2008


On Wed, 6 Aug 2008, Thomas Feldhaus wrote:

> Hallo,

> grübele gerade bei lpi2 Kapitel 2.213.1 Automatisierungsskripte über dem 
> Lernziel "Synchronisieren von logs" mit rsync, scp. zum Beispiel 
> apachelogs: logrotate managt die Logs im Ringbufferverfahren in 
> /var/log/apache, dh. zerschneiden, im Ring verfahren umbenennen, 
> irgendwann die ältesten löschen, usw.

> Jetzt will ich aber sämtliche apachelogs wohlgeordnet und an einem 
> passenden Ort aufbewahren. Aber das geht ja in der Form, wie logrotate 
> die Daten aufbereitet hat, nicht mehr so ohne weiteres.

Ich würde es direkt mit logrotate verbinden.

Direkt in logrotate kann man Pre- und Post-Skripte konfigurieren, die vor 
bzw. nach dem logrotate ausgeführt werden (z.B. ein "kill -HUP syslog, 
damit neue Files geöffnet werden können).

Siehe in /etc/logrotate.d.

Du könntest direkt dort den "Abtransport", gekoppelt mit der Umbenennung, 
damit es einen Datumsstempel bekommt (z.B. accesslog.20080806) ausführen. 
Das macht alles Nachbessern überflüssig.

Eine andere Variante ist syslog-ng, dort kann man Schreiben nach 
/var/log/${host}/${datum} veranlassen. Wir benutzen das, inklusive der 
Benutzung zentraler Logserver (weitere Vorteile: Zugang zu vielen Daten 
zentral, Entkopplung von Produktionsservern, so Zugang für Entwickler 
unabhängig von Prod möglich, kein Auffüllen von /var-Partitionen..) - so 
wirklich sehr sehr hilfreich.

Wir haben apache und tomcat so konfiguriert. Lokal läuft normales syslog, 
nur der Logserver braucht syslog-ng.

Wenn Interesse besteht, schreibe ich morgen mehr, wenn ich Zugang zu den 
Servern habe.

Es grüßt
Peter


Mehr Informationen über die Mailingliste linux-l