Apache-Piping zum einfachen Wechseln von Logdateien

Bei der Verwendung von Apache als Logging-Tool gibt es in der Basiskonfiguration eine zu erwähnende Einschränkung. Alle Logaufzeichnungen landen in einer einzigen Datei und das bringt eine Reihe von Problemen mit sich. Was macht man zum Beispiel, wenn die Logdatei zu groß wird und verkleinert werden muss? Dazu müsste man den Apache-Server anhalten, die Datei an einen sicheren Speicherort kopieren und kürzen, und dann den Apache neu starten, um mit dem Logging fortzufahren. Eine bessere Lösung ist die Verwendung der Apache-eigenen Fähigkeiten zum Piped Logging, mit denen die Logdateien einfach und sicher gewechselt werden können.

Pipes – die elegante Lösung

Hier soll kein Streit zwischen Unix und Windows vom Zaun gebrochen werden, aber auf eine der nützlichsten Eigenschaften von Unix-Programmen soll doch hingewiesen werden, nämlich auf die Möglichkeit, ihre Ausgabe- und Eingabekanäle miteinander zu verknüpfen (Piping). Wenn man eine riesige, mehrere Megabyte große Apache-Logdatei nach bestimmten Informationen durchsuchen will, ist es überaus praktisch, dass man die Tools grep, cut, uniq und sort ganz nach Belieben hintereinander schalten kann. Aber das ist Stoff für einen weiteren Artikel.

Hier soll es zunächst einmal um das automatische Wechseln von Logdateien gehen. Dazu wird die Fähigkeit von Apache genutzt, den Ausgabestrom der CustomLog-Direktive in eine externe Anwendung umzuleiten. Wer ein ausgeklügeltes Warn- oder Logsystem benötigt, kann auch eine eigene Logging-Anwendung erstellen, aber für diesen Zweck hier kann man auf die schlichte rotatelogs-Anwendung zurückgreifen, die zum Lieferumfang der Apache-Installation gehört.

Zur Erinnerung – in den httpd.conf-Dateien findet sich eine LogFormat-Direktive, die ungefähr wie folgt aussieht:

(Eine detailliertere Beschreibung von LogFormat findet sich im erwähnten früheren Artikel.) Aber statt der standardmäßigen CustomLog-Direktive wird der Ausgabestrom zu rotatelogs umgeleitet:

Natürlich muss man /opt/httpd/bin/ durch das eigene Apache-Installationsverzeichnis ersetzen. Als Name der Logdatei wurde bislang nur ein relativer Pfad angegeben. Aber hier wird die Logdatei von der rotatelogs-Anwendung geschrieben und nicht von Apache selbst. Um Probleme zu vermeiden, wird hier ein vollständiger absoluter Pfad für die Logdatei angegeben. Die Zahl am Ende der in Anführungszeichen stehenden Zeichenkette gibt die Anzahl der Sekunden zwischen den Rotationen an. Dieser spezielle Wert ist die Anzahl der Sekunden für einen 24-Stunden-Tag, so dass rotatelogs jeden Tag zu einer neuen Logdatei wechseln wird.

Der Name der Logdatei richtet sich dabei ganz nach den Angaben in der obigen CustomLog-Direktive. Allerdings hängt rotatelogs eine Zahl an den Dateinamen an, nämlich die Zeit, zu der die jeweilige Logdatei erstellt wurde:

Man wird also jeden Tag eine neue Logdatei im Logverzeichnis finden, mit einer neuen Timestamp-Zahl als Erweiterung am Dateiende. Eine Kleinigkeit gilt es hierbei jedoch zu beachten: Falls an dem jeweiligen Apache-Port keine Aktivität stattfindet, wird die neue Logdatei mit der neuen Erweiterung nicht erstellt. Dies geschieht nur, wenn es tatsächlich aufzuzeichnende Aktivitäten gibt. Das bedeutet, dass zwischen den Zeitangaben zweier aufeinander folgender Logdateien mehr als 24 Stunden liegen können, wenn auf dem entsprechenden Port nicht viel los ist.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

3 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

3 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

3 Tagen ago