Updated on May 8, 2019
Logdateien monitoren – mit multitail
Lange Zeit suchte ich nach einer Lösung, um das Überwachen der Logdateien meiner Server etwas ansprechender zu gestalten. Ich wollte erreichen, dass bestimmte Keywords, die in den Logfiles vorkommen, farblich hervorgehoben werden.
Einfache Variante mit tail -f und grep
Zunächst verwendete ich schlicht und einfach tail -f und grep. Das tail zeigt die letzen paar Zeilen einer Datei, die Option -f weist an, die Datei fortlaufend zu monitoren und Änderungen in Echtzeit anzuzeigen. Damit mir auch die nicht-matchenden Zeilen angezeigt werden, verwende ich einfache regular expressions.
tail -f /var/log/mail.log | egrep "CLEAN|removed|$"
| steht hier für “oder”, das $ steht für Zeilenende, also jede Zeile. Dadurch zeigt grep auch die nicht-matchenden Zeilen (unfarbig) an.
Falls die Farben nicht sichtbar sein sollten, fehlt vermutlich der entsprechende Alias in der .bashrc:
alias egrep='egrep --color=auto'
PS: wenn color=auto in color=always verändert wird, bleiben die Farben auch dann erhalten, wenn die Ausgabe von grep in eine Pipe geschickt wird, z.B. so:
tail -f /var/log/mail.log | egrep --color=always "CONNECT|$" | egrep --color=always "Disconnected|$"
Leider kommt man hier schnell an die Grenze, da grep meines Wissens nach nur eine Farbe unterstützt. Außerdem sind die Kommandos etwas mühselig.
Mehr Farben und Funktionen mit multitail
multitail sollte meiner Meinung nach auf keinem Linux-Server fehlen. In erster Linie soll es das bekannte tail um viele Funktionen ergänzen. Es basiert auf ncurses und kann mehrere Dateien gleichzeitig überwachen und Keywords farbig darstellen. Die Installation ist auf einem Debian / Ubuntu Server denkbar einfach:
apt-get update apt-get install multitail
ein Aufruf sieht zum Beispiel so aus:
multitail /pfad/zur/datei1 /pfad/zur/datei2
Man sieht, es können mehrere Dateien angegeben werden, die zur gleichen Zeit überwacht werden. Das schönste daran sind allerdings die verschiedenen Farben, welche zentral über die Datei /etc/multitail.conf konfiguriert werden. Dort können mittels Regular Expressions auch eigene Regeln definiert werden.
Speziell um die Logdatei meines Mailservers zu überwachen, habe ich den Bereich für postfix wie folgt editiert und um Einträge für dovecot und amavis ergänzt:
colorscheme:postfix:www.postfix.org cs_re:cyan:: cs_re:yellow:status=sent cs_re:magenta:queue.active cs_re:green:from=.*> cs_re:red:to=.*> cs_re:blue|blue,,bold:^... .. ..:..:.. cs_re:green:\[ cs_re:green:\] cs_re:red:NOQUEUE:.* cs_re:green:<[a-zA-Z0-9_\@\.\-]+> -> <[a-zA-Z0-9_\@\.\-]+> cs_re:red:INFECTED cs_re:green:CLEAN cs_re:yellow:BAD_HEADER cs_re:cyan:dovecot:.* cs_re:magenta:Hits: [-0-9\.]+ cs_re:blue,,bold:amavis.*
Damit dieses Farbschema auch verwendet wird, rufe ich multitail wie folgt auf:
multitail -cS postfix -n 1000 /var/log/mail.log
Mittels -cS wird das Farbschema angegeben, das -n 1000 bedeutet, dass die letzten 1000 Einträge in den Puffer geladen werden. Dies ist für das Zurückblättern nützlich. Zu guter letzt gebe ich den Pfad zur überwachenden Datei an. Das Ergebnis sieht super aus, wie ich finde. Alle relevanten Ereignisse stechen hervor:
Damit ich nicht jedes Mal das lange Kommando eingeben muss, habe ich mir folgenden Alias in die .bashrc eingetragen:
alias mlg='multitail -cS postfix -n 1000 /var/log/mail.log'
Somit reicht ein einfaches mlg auf der Konsole aus.
Zurückblättern
Während Multitail läuft, kann mit der Taste B in der Datei zurückgeblättert werden. Mit der Taste E kann gefiltert werden, und mit / kann man nach Keywords suchen. Damit macht meiner Meinung nach das Logdateien monitoren Spaß.
Toller post, hier noch eine Ergänzung zu clamd und opendkim
cs_re:white,,bold:opendkim.*
cs_re:red,,bold:clamd.*
Hi! Genau das was ich gesucht habe! Multitail ist ein sehr nützliches Tool um auch div. Logfiles zu Überwachen. Wer wehr mehr noch zum Thema Linux und Monitoring erfahren möchte kann ja auf meinem Blog vorbei Schauen 😉
Pingback: QuickTipp: Rahmen statt "lqqk" in der PuTTY Shell | SYN-FLUT.de
Pingback: 3 Tools um die Kommandozeile im Blick zu behalten – zulauf IT solutions