
Ich habe diesen Dusty syslog-ng 3.1.3
, der in eine Datenbank schreibt, und alles funktioniert gut, aber er scheint nur 30 Tage Protokolle zu speichern (die letzte Tabelle ist logs20150826
). Wie kann ich das erhöhen? In der Dokumentation ist nichts sofort klar.
Es gibt einige Referenzen in den Logrotate-Verzeichnissen, aber nichts, was das MySQL-Ziel zu steuern scheint, und nichts darin, /etc/syslog-ng/syslog-ng.conf
daher muss diese 30-tägige Aufbewahrung eine Art Standard sein.
Antwort1
Überprüfen Sie, ob Sie php-syslog-ng installiert haben. syslog-ng ist hierfür nicht verantwortlich.
Protokollrotation
Die Protokollrotation sollte Teil der meisten Installationen sein, bei denen Sie php-syslog-ng verwenden. Es ist besser, die Protokollrotation zu verwenden, als Zeilen in der Haupttabelle zu löschen, da das Löschen von Zeilen zu Leistungsproblemen führen kann. Das Rotieren alter Protokolle aus der Haupttabelle führt normalerweise auch zu einer besseren Leistung, da die Tabellen mit alten Protokollen statisch sind und optimiert werden können. Im Skriptverzeichnis befindet sich ein Skript logrotate.php. Möglicherweise müssen Sie es bearbeiten, um den richtigen Pfad zu Ihrer php-syslog-ng-Installation einzugeben, aber danach sollte es einsatzbereit sein. Wenn Sie Merge-Tabellen in der Datei config.php aktivieren, wird am Ende des Skripts eine Merge-Tabelle aller Protokolltabellen erstellt. Die Merge-Tabelle ermöglicht Ihnen die Suche in allen Tabellen, anstatt jeweils nur eine Tabelle durchsuchen zu müssen. Die Merge-Tabelle führt zu einer leichten Leistungseinbuße im Suchformular, da die Felder auf der Grundlage aller Tabellen und nicht einer bestimmten Tabelle ausgefüllt werden.
Sie können auch die Einstellung LOGRETENTION in config.php aktivieren. Wenn Sie diese Einstellung aktivieren, werden Protokolle, die älter als diese Einstellung sind, gelöscht, wenn logrotate.php ausgeführt wird.
Wenn Sie sich für die Verwendung des Skripts logrotate.php entscheiden, fügen Sie es einfach zu Ihrer Crontab hinzu und lassen Sie es so oft ausführen, wie Sie möchten (derzeit maximal einmal pro Tag).