Logfile Monitoring und E-Mail Benachrichtigung mit swatch unter Debian und Ubuntu

Ubuntu

logfiles_mit_swatch_monitoren

Logfiles enthalten viele wertvolle Informationen. Eine Platte ist defekt, das RAID gibt den Geist auf, ein Backup ist fehlgeschlagen oder die Batterie von der USV ist kaputt. Leider bekommt man von diesen wichtigen Infos wenig mit, wenn man sich über auftauchende Probleme nicht automatisiert benachrichtigen lässt. Niemand kann (oder will :)) täglich alle anfallenden Logs checken.

Ein einfaches und effektives Monitoring kann man sich mit dem kleinen Daemon „swatch“ einrichten. Swatch liest live Logfiles mit und führt Aktionen aus, wenn bestimmte Schlüsselworte in den Logfiles auftauchen.

Hier ein Quick and Dirty Setup um das Logfile von rsnapshot, einem Backuptool zu monitoren und bei Problemen eine Mail zu versenden:

# swatch installieren
apt-get -y install swatch

Nun muss man sich das Logfiles das überwacht werden soll ansehen und identifizieren, was dort gelogged wird, wenn Fehler auftauchen. Hier als Beispiel das Logfile von rsnapshot nach einem Backup, das Probleme verursacht hat:

[15/May/2013:01:00:21] require Lchown
[15/May/2013:01:00:21] Lchown module loaded successfully
[15/May/2013:01:00:21] /usr/bin/rsnapshot daily: started
[15/May/2013:01:00:21] Setting locale to POSIX "C"
[15/May/2013:01:00:21] echo 13895 > /var/run/rsnapshot.pid
[15/May/2013:01:00:21] /root/scripts/nas-backup
[15/May/2013:01:00:26] /bin/rm -rf /media/net/nas1/data/daily.6/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.5/ /media/net/nas1/data/daily.6/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.4/ /media/net/nas1/data/daily.5/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.3/ /media/net/nas1/data/daily.4/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.2/ /media/net/nas1/data/daily.3/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.1/ /media/net/nas1/data/daily.2/
[15/May/2013:01:13:30] /bin/cp -al /media/net/nas1/data/daily.0 /media/net/nas1/data/daily.1
[15/May/2013:01:30:07] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /media/local/share /media/net/nas1/data/daily.0/localhost/
[15/May/2013:01:32:19] rsync succeeded
[15/May/2013:01:32:19] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /etc /media/net/nas1/data/daily.0/localhost/
[15/May/2013:01:32:21] rsync succeeded
[15/May/2013:01:32:21] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /home /media/net/nas1/data/daily.0/localhost/
[15/May/2013:03:28:06] rsync succeeded
[15/May/2013:03:28:06] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /var /media/net/nas1/data/daily.0/localhost/
[15/May/2013:03:55:06] /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsync returned 12 while processing /var/
[15/May/2013:03:55:06] /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsync returned 12 while processing /var/
[15/May/2013:03:55:06] touch /media/net/nas1/data/daily.0/
[15/May/2013:03:55:08] No directory to delete: /media/net/nas1/data/_delete.13895
[15/May/2013:03:55:08] rm -f /var/run/rsnapshot.pid
[15/May/2013:03:55:08] /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsnapshot daily: completed, but with some errors
[15/May/2013:03:55:08] /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsnapshot daily: completed, but with some errors

Im rsnapshot-Log tauchen also die Wörter „ERROR:“ und „errors“ auf, falls es Probleme gibt. Dies teilt man Swatch in einer neu angelegten Konfigurationsdatei mit:

#/etc/swatch/watch_rsnapshot
watchfor /ERROR|errors/
mail addresses=daniel\@daniel-ritter.de,subject=RSNAPSHOT_BACKUP_HAT_WARNUNG_GENERIERT

In der „watchfor“-Zeile werden die zu überwachenden Schlüsselwörter konfiguriert, in der „mail“-Zeile gibt man eine Mail-Adresse und ein Subject für die Warn-Email an.

Nun muss swatch nur noch gestartet werden:

/usr/bin/swatch  --config-file=/etc/swatch/watch_rsnapshot --tail-file=/var/log/rsnapshot.log --daemon

Fallstricke:

– Das Starten von swatch muss in die Startskripte des Servers eingefügt werden, damit swatch nach einem Reboot sofort wieder mit der Überwachung beginnt.

– Das E-Mail System des Servers muss funktionieren. Am Besten generiert man eine Testmail und überprüft, ob sie tatsächlich bei der konfigurierten E-Mail Adresse ankommt. Dafür kann man einfach eines der zu überwachenden Schlüsselworte an die überwachte Logdatei anhängen.

echo "errors" >> /var/log/rsnapshot.log

Bei Problemen schaut man am Besten in den Logdateien des MTA nach um dem Fehler auf die Schliche zu kommen /var/log/exim4/mainlog (Exim) oder /var/log/mail.log (Postfix)

2 thoughts on “Logfile Monitoring und E-Mail Benachrichtigung mit swatch unter Debian und Ubuntu

  1. Hallo,

    wie müste ich denn dies in omv (debian) eintragen damit es automatisch gestratet wird?
    Ich bin in Linux ne Lusche, kannst Du mir helfen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben