Hallo liebe CheckMK Community Mitglieder!
Ich habe einen Check in Python3 geschrieben, der uns helfen soll SPF Einträge von Webseiten zu überprüfen.
Dieser Check soll direkt vom CheckMK-Server ausgeführt werden (wie die HTTPS-Checks zum Beispiel).
Der Check sollte folgendermaßen funktionieren
- Ausführung direkt vom CheckMK Server:
check_spf.py $HOSTNAME$
- Check führt Code aus und wertet Ergebnisse aus (vereinfacht: Abfrage mit
dig txt
) - Check retourniert einen neuen Service
Leider wird der neue Service im Service-Discovery Fenster nicht gefunden.
Ich habe testweise auch schon einen ganz einfachen Check (Bash) geschrieben, welcher nichts tut als folgendes auszugeben:
<<<local>>>
0 Testcheck - Just a Test
nur um zu überprüfen ob diese Ausgabe aufscheint, tut sie jedoch auch nicht.
Beide (der echte und der Test-Check) liegen im Ordner ~/local/bin
(dort liegt auch ein bereits funktionierender Check).
Wenn ich nun in CheckMK cmk -D HOSTNAME
eingebe, habe ich folgende Ausgabe:
Type of agent:
Program: pixel-datasrc.php HOSTNAME
pixel-datasrc.php
ist hier der bereits seit längerer Zeit eingerichtete, funktionierende Check.
Dieser fragt mittels CURL eine bestimmte Datei von den betroffenen Webseiten ab, wertet die darin enthaltenen Daten aus und erstellt mehrere Services.
Ich sehe jedoch keinerlei Hinweise auf den neuen Check ( check_spf.py
).
Auch mit cmk -vv -d HOSTNAME
erhalte ich nur 1x den Text
Calling: pixel-datasrc.php HOSTNAME
Hier ebenso keinerlei Hinweise auf den neuen SPF-Check.
Wie beim bereits funktionierenden Check habe ich eine Individual program call instead of agent Access Regel angelegt.
Die betreffenden Hosts haben allesamt den Parameter API integrations if configured, else Checkmk agent (CheckMK hat bei uns einen eigenen Ordner für reine Websites auf deren Server wir keinen direkten Zugriff haben).
Ich habe jedoch auch schon versucht, den Parameter auf Configured API integration and CheckMK agent umzustellen, leider ohne Erfolg.
Versuche ich den Check am CheckMK Server manuell auszuführen und ihm manuell einen Hostname zu übergeben, mit dem er arbeiten soll, funktioniert dies einwandfrei.
./check_spf.py HOSTNAME
Damit erhalten ich den gewünschten Output.
Vielleicht hat hier jemand eine Idee dazu.
Weitere Informationen:
- CheckMK 2.0.0p5 CEE auf Ubuntu 20.04.2 LTS
- CheckMK Server liegt bei uns intern (VM)