Alexander (HH): apachectl - wie Server auf leichte Weise neustarten?

Beitrag lesen

Moin Moin!

Du hast das Rad neu erfunden?

Es lag mir auf der Zunge ...

http://httpd.apache.org/docs/1.3/logs.html#rotation

(Funktioniert auch mit 2.0 und 2.2)

Siehe auch http://httpd.apache.org/docs/2.2/programs/rotatelogs.html#examples

(auch das bei Piped Logs direkt drunter lesen!)

rotatelogs (mit Pipe) habe ich verwendet bevor ich das neue Skript geschrieben habe. Mir hat einfach die Methode gefehlt alle Log-Einträge in einer einzigen komprimierten Datei abzulegen.

Piped Logs können genau das erledigen, OHNE dass Du den Server neu starten mußt. Die einzige Anforderung vom Apachen ist, dass das Programm an STDIN die Log-Zeilen einigermaßen flott einsammelt. Was es dann damit anstellt, ist dem Apachen egal. Es kann unkomprimierte Dateien schreiben und regelmäßig rotieren, dann hast Du rotatelogs. Es kann die Zeilen teilweise parsen und IP-Adressen in den Logs auflösen, dann hast Du logresolve. Es kann die Zeilen parsen, zerlegen und in eine Datenbank-Tabelle schreiben, dann hast Du SQL-basierendes Reporting. Oder es fügt die Log-Zeilen komprimiert an eine komprimierte Datei an.

Mir will nur nicht in den Kopf, was genau der Vorteil einer riesigen komprimierten Log-Datei sein soll. Sie ist schwer zu handhaben, weil man sie immer wieder dekomprimieren muß, sie ist irgendwann zu groß für gängige Transportmedien, erfordert ab einer gewissen Größe Unterstützung durch Betriebssystem und Dateisystemtreiber, und außer bei rsync werden beim Remote-Zugriff immer tonnenweise uralte Logs durchs Netzwerk geschleppt.

Für Reporting ist eine SQL-Tabelle deutlich einfacher. Auf Log-Dateien spezialisierte Reporting-Tools kommen auch mit mehreren Log-Dateien klar. Mehrere einzelne, unkomprimierte Log-Dateien sind jeweils kleiner und leichter zu transportieren. Klar, irgendwann sind alte Log-Dateien uninteressant und könnten komprimiert werden. Das wäre ein recht einfacher Patch für Apaches rotatelogs-Programm, das nach dem Wechsel auf eine neue Log-Datei gzip oder bzip2 abforkt und die alte Log-Datei komprimieren läßt. Währenddessen werden neue Log-Zeilen vom Apachen schon wieder in die neue, noch nicht komprimierte Log-Datei geschrieben.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".