Seit spätestens SFOS 19.5.0 gibt in der advanced Shell die Möglichkeit die Sophos Firewall Logdatei Rotation (logrotation) nach seinen Bedürfnissen besser anzupassen. Dieser Post erklärt das "Wie" und "Wo".
Einleitung
In der Version 19.5.0 wurde etwas an der Rotation der Logdateien geändert. Inwieweit die Sophos Firewall Logfile Rotation in früheren Releases nach eigenen Wünschen angepasst werden konnte, kann ich leider nicht sagen. Ich bin ein Freund der Nutzung von aktuellen Versionen und habe mich daher nicht näher mit Vorgängerversionen beschäftigt. Soweit ich aber richtig informiert bin, war dies vorher nicht (als Endanwender) möglich.
In diesem Post zeige ich Euch wo und wie man die Konfiguration der Logdatei Rotation anpassen kann. Probiert es gerne aus und teilt Eure Erfahrungen in den Kommentaren mit.
Doch vorab die obligatorische Wartung:
Das "WO"
Die Konfiguration der Rotation liegt in dem Verzeichnis "/static/logrotate
". In diesem Verzeichnis sind bereits zwei Konfigurationen vorhanden. Eine Datei "big_logrotate.conf
" und eine Datei "small_logrotate.conf
". Wie der Name bereits aussagt, werden über die eine Datei mehr Daten als bei der anderen vorgehalten.
Die Auswahl der Konfiguration erfolgt über einen Symlink "logrotate.conf
" der auf eine der beiden Konfigurationen zeigt. Man kann also mehrere Konfigurationen ablegen und mit einer Anpassung des Links schnell hin und her wechseln.
Das "WIE"
Grundlegend
Dateisystem schreibend mounten
Vor jeder Änderung muss zuvor das Dateisystem schreibend gemountet werden.
mount -rw remount /
Ab jetzt könnt Ihr neue Konfigurationen anlegen, oder bearbeiten.
mount -ro remount /
Eigene Konfigurationen erstellen und bearbeiten
Die originalen Konfigurationen solltet Ihr immer so bestehen lassen, wie sie sind, damit Ihr einen Weg zurück gehen könnt.
Daher legt Ihr zuerst eine neue Konfiguration an. Mit folgendem Befehl kopiert Ihr die "big_logrotate.conf
" in eine neue Datei - hier: "my_config01.conf
".
Den Namen der Zieldatei könnt Ihr nach Belieben anpassen.
cp /static/logrotate/big_logrotate.conf /static/logrotate/my_config01.conf
Und schon liegt die neue Konfiguration im Verzeichnis "/static/logrotate
" bereit. Die Datei könnt Ihr nach Euren Wünschen mit "vi
" bearbeiten. Ein paar Hinweise findet Ihr weiter unten
Andere Konfiguration aktivieren
Eine andere Konfiguration lässt sich mit folgendem Befehl aktivieren. Schaut vorher aber in dem Verzeichnis nach, welche originale Konfiguration auf Eurer Firewall aktiv ist mit einem "ls -ls /static/logrotate
" damit Ihr am Ende wieder zum Original zurück wechseln könnt.
cd /static/logrotate
ln -sf /static/logrotate/my_config01.conf logrotate.conf
Der Befehl überschreibt den vorhandenen Symlink "logrotate.conf
" mit Eurem neuen Ziel ("my_config01.conf
")
Die neue Konfiguration ist nun aktiv. Mehr müsst Ihr hier nicht machen. In meinen Tests war die neue Konfiguration ohne Neustart von Diensten direkt aktiv.
Originale Konfiguration aktivieren
Die originale Konfiguration lässt sich mit folgendem Befehl wieder aktivieren. Sollte eine andere Konfiguration aktiv gewesen sein, dann ersetzt bitte "big_logrotate.conf
" durch die entsprechende Datei.
cd /static/logrotate
ln -sf /static/logrotate/big_logrotate.conf logrotate.conf
Anpassungen der Konfiguration
In diesem Block stelle ich Euch ein paar Anpassungen vor die Ihr verwenden könnt. Die Liste ist nicht vollständig, aber reicht für die wichtigsten Anforderungen meiner Meinung nach. Es soll ja auch nur für ein Troubleshooting sein.
Wie ist die Konfiguration aufgebaut
Globale Einstellungen
Ganz oben in der Konfgiurationsdatei befinden sich ein paar globale Einstellungen
- compress
Rotierte Dateien sollen komprimiert werden - dateext
Komprimierte Dateien sollen ein Datum angehängt bekommen - dateformat -%Y%m%d_%H%M%S
Das Datumsformnat für die rotierten Dateien - missingok
Wenn das Logfile nicht vorhanden ist, dann wird keine Fehlermeldung erzeugt und mit der Verarbeitung fortgefahren. - copytruncate
Diese Option schneidet das originale Logfile ab, nach dem es kopiert wurde. Normalerweise wird das alte Logfile umbenannt und ein neues erstellt. Diese Option nicht entfernen, da es ansonsten zu leeren Logdateien kommt! - rotate 2
Anzahl der zubehaltenen Versionen inkl. der aktuellen. Hier: 2
Dedizierte Einstellungen pro Datei
Die dedizierten Einstellungen sind Anpassungen für einzelne Logdateien. In den originalen Dateien sind bereits mehrere Blöcke enthalten die wie folgt aufgebaut sind und vom Inhalt her für sich sprechen.
#128MB
"/log/reverseproxy.log"
/log/smtpd_main.log
{
size 128M
rotate 3
}
Einstellungen
Folgend findet Ihr ein paar Einstellungen die Ihr pro Block (und wahrscheinlich auch global - global hab ich aber nie getestet!) setzen könnt.
- size size
Größe der Datei ab wann die Logrotation greifen soll. Der zweite Parameter ist die gewünschte Größe. Beispiele:- size 128M
- size 50K
- rotate count
count als Ganzzahl gibt an, wieviele Dateien behalten werden sollen. Nicht gesetzt, greift der globale Wert. Der Wert schließt die aktuelle Logdatei ein. - delaycompress
Die rotierte Logdatei wird erst ab dem nächsten Durchlauf komprimiert sofern rotate größer 2 ist. Somit ist die vorhergehende Logdatei noch direkt lesbar und muss nicht erst entpackt werden.
Weitere Einstellungen können auch hier nachgeschlagen werden: man7.org
Allerdings sollten die oben genannten Einstellungen für die meisten Fälle reichen.
Viel Spaß beim Ausprobieren!