Markus Michalski FAQ

Watchdog: Log-Datei

Prüft, ob eine Log-Datei kürzlich geändert wurde und ein Muster enthält, als Text oder regulärer Ausdruck. Typ log_file, Runner Agent. Felder, Status und Meldungen.

English Version

Zurück zu den Check-Typen

Watchdog: Log-Datei

Der Check prüft zwei Dinge: ob die Log-Datei innerhalb eines Zeitfensters geändert wurde und ob in ihr ein Muster vorkommt. Typisch ist der Einsatz für Backup-Logs.

Eigenschaft Wert
Typ-Kennung log_file
Runner Agent
Ziel in der E-Mail Log path

Felder

Feld Schlüssel Standard Bedeutung
Log file path log_path Pflicht. Absoluter Pfad der Log-Datei
Pattern pattern Pflicht. Reiner Text oder regulärer Ausdruck, der in der Datei vorkommen muss
Max age max_age_minutes 1440 (1 Tag) FAIL, wenn die Datei länger nicht geändert wurde. Eingabe in Tagen, Stunden und Minuten

Ein Muster gilt als regulärer Ausdruck, wenn es mit / beginnt und mit / plus optionalen Modifikatoren endet, etwa /status=OK.*duration=\d+s/. Alles andere wird als fester Text gesucht.

Ablauf

Der Pfad bekommt HOST_ROOT vorangestellt, wenn die Variable im Agenten gesetzt ist. Der Check prüft zuerst das Alter und dann das Muster.

Situation Status Meldung
Datei nicht zu alt, Muster in einer Zeile gefunden OK Pattern matched in <Pfad>
Datei nicht vorhanden FAIL Log file not found: <Pfad>
Datei älter als das Zeitfenster FAIL Log file is <n> min old (max: <m> min): <Pfad>
Muster nicht gefunden FAIL Pattern not found in <Pfad>: <Muster>
Datei nicht lesbar FAIL Cannot read file: <aufgelöster Pfad> oder Cannot read mtime of <aufgelöster Pfad>
Ungültiger oder zu langsamer regulärer Ausdruck UNKNOWN Invalid pattern or catastrophically slow regex: <Muster>
Kein Pfad oder kein Muster UNKNOWN No log_path configured bzw. No pattern configured

Die Meldungen zu fehlender Datei, Alter und Muster nennen den konfigurierten Pfad, etwa /var/log/backup.log. Die Lesefehler-Meldungen enthalten dagegen den aufgelösten Pfad mit HOST_ROOT-Präfix, etwa /host/root/var/log/backup.log.

Der Check liest die gesamte Datei und sucht in allen Zeilen, nicht nur am Ende. Ein alter Treffer genügt, solange die Datei selbst aktuell ist. Sehr große Dateien werden vollständig in den Speicher gelesen.