Linux-Server mit logwatch überwachen
logwatch parsed die Logdateien des Systems bzw. der prominentesten Dienste wie SSH oder Apache und erstellt daraus Reports. Die Zeitfenster für die Erstellung des Reports lassen sich dabei beliebig adaptieren. Sie können Sie sich entweder tägliche oder so wie in dieser Anleitung beschrieben wöchentliche Reports zu einem definierten Zeitpunkt per E-Mail zusenden lassen.
logwatch benötigt für den Versand von E-Mails eine für den externen Versand konfigurierte Installation von sendmail. Sobald diese Voraussetzung gegeben ist, können Sie logwatch mit dem unten stehenden Befehl installieren.
apt-get install logwatch
logwatch konfigurieren
Logwatch wird über die Konfigurationsdatei /usr/share/logwatch/default.conf/logwatch.conf konfiguriert. Die folgenden Parameter sollten Sie an Ihre Bedürfnisse anpassen:
Standard-Ausgabe beim direkten Aufruf von logwatch über den Befehl "logwatch". Belassen Sie diese Option auf dem Wert Konsolenausgabe, da der Cronjob den E-Mailversand per Parameter erzwingen kann.
Output = stdout
Sie können beim Format zwischen "html" und "text" wählen. Ich selbst habe auch per E-Mail die Textausgabe als übersichtlicher empfunden.
Format = text
Format = html
Empfänger und Absender für den Versand per E-Mail definieren.
MailTo = webmaster@example.com
MailFrom = server@example.com
Der Zeitraum für die Auswertung kann beliebig gesetzt werden. Die erste Zeile wertet die gesamte letzte Woche aus, die zweite Zeile nur den vorhergehenden Tag.
Range = between -7 days and -1 days
Range = yesterday
Der Detailgrad der Auswertung kann frei gewählt werden. Der Standardwert "low" ist meist mehr als ausreichend.
Detail = low
Detail = medium
Detail = high
automatische Analyse einrichten
Bei der Installation wird automatisch ein täglicher Cronjob unter /etc/cron.daily/00logwatch eingerichtet. Wer jedoch selbst bestimmen möchte, zu welcher Uhrzeit und an welchem Tag die Analyse durchgeführt werden soll, kann sich dazu einen manuellen Cronjob anlegen.
Verschieben Sie das Shell-Skript für den Cronjob an einen anderen Ort:
mv /etc/cron.daily/00logwatch /scripts/logwatch.sh
Und richten sie mit crontab über den Befehl crontab -e den Cronjob neu ein. Das folgende Beispiel ruft logwatch einmal die Woche jeden Freitag um 14:15 Uhr auf.
15 14 * * 5 /scripts/logwatch.sh
Mehr Infos zur Zeitsteuerung von Cronjobs finden Sie im Artikel: Cronjobs – wiederkehrende Aufgaben unter Linux managen