Fileinfo Dateformat

CEE 2.0.0p17
Wir sollen auf einem WindowsServer das Vorhandensein von logDateien mit Tagesdatum überprüfen. Grundsätzlich funktioniert die Abfrage. Aber check_Mk sucht nach Datum z.B. 20220201. Im WindowsOrdner werden die LogDateien aber so abgespeichert : 2022021. Das bedeutet, dass die Abfrage erst ab 10. jeden Monats wieder funktioniert. Vom 01.-09. jeden Monats werden keine entsprechenden LogFiles gefunden. Wie kann ich jetzt im Einschlußmuster (IncludePattern) das DateFormat so angeben, dass das Tagesdatum vom 01.-09. jeden Monats nur einstellig abgefragt wird. Habe es schon mit diversen UnixDateFormaten versucht, aber damit ist check_Mk nicht einverstanden

Grüße Woody

Ach wie schön wäre die Welt, wenn sich alle an die ISO Datenformate halten würden…

Lassen sich Regex verwenden? Dann müsste man doch mit * oder ? (oder so ähnlich) weiterkommen…

Hallo Woody,

du kannst hier auch “*” verwenden. Der mk_logwatch schaut aus den Filehandle welche Datei zuletzt geschrieben wurde. Es wird für jede Datei ein Merker gesetzt ab welchem neuen Eintrag gemeldet werden soll und welche Datei es ist. Probiere das mal aus.

VG, Christian

leider handelt es sich nicht um den mk_Logwatch, sondern um den fileinfo (windows + linux)

Ok, hast du es schon mal mit der date Formatierung versucht?
In der fileinfo.cfg mal so was angeben: %Y%d%u
Findest du hier: Dateien überwachen (checkmk.com)
Abschnitt 4.1
VG, Christian

wie in der onlineHilfe angegeben : xxxx-*$date:%Y%M%d$.log (aus dem Kopf, weil nicht mehr in der Arbeit)
und eben hier wird der Tag im Datum 2 stellig abgefragt, z.B. das heutige Datum : xxxx-20220201. Im WindowsOrdner wird aber das heutige Datum abgespeichert als : xxxx-2022021, also der Tag einstellig. Ich muss also dem fileinfo beibringen, dass er den Tag im Datum einstellig sucht

Laut date Format ist “%u” die einstellige Ausgabe des Tages. Das Makro $DATE:%Y%d%u$" solltest du in Großschrift schreiben. Probiere das mal aus.
VG, Christian

Lt. Beschreibung nicht :
grafik

Möglicherweise funktioniert
xxxx-$DATE:%Y%m%-d$
was den Tag (%-d) ohne führende 0 ausgeben sollte.

auch schon ausprobiert, dafür wird ein Leerzeichen eingefügt, und er findet wieder keine Datei.
Ich werde mit dem Programmierer reden, dass er den Namen der LogDatei anpasst.

Sicher das es ein “Strich” und nicht ein “Unterstrich” war?

Aus der strftime Doku:
_ (Unterstrich) füllt eine numerische Ergebniszeichenkette mit Leerzeichen auf.
- (Strich) füllt eine numerische Ergebniszeichenkette nicht mit Leerzeichen auf.

Gemäss CMK Doku entspricht das Datumsformat dem Linux-Programm date und da funktionieren alle drei Varianten wie erwartet:

date '+%Y.%m.%d'
2022.02.02
date '+%Y.%m.%-d'
2022.02.2
date '+%Y.%m.%_d'
2022.02. 2

Dann wird es vermutlich ein Bug im CMK sein.

Die schnellste und nachhaltigste Lösung wird aber das anpassen des Filenamens sein.

2 Likes

Hallo LaSoe,
sehe ich so.

Danke