Ich habe oft das Problem, dass meine selbst geschriebenen Checks zu langsam ablaufen, was aber immer an den Tools der Hardwarehersteller liegt. Deshalb benutze ich dieses System um Checks per Cron, unabhängig von check_mk laufen zu lassen. Folgende neue Ordner werden im Ordner /usr/lib/check_mk_agent benötigt:
mkdir cron mkdir cron/scripts mkdir cron/scripts/plugins mkdir cron/scripts/local mkdir data mkdir data/plugins mkdir data/local
In den Ordner cron/scripts kommt nur das Script „cron.sh“ welches man dann im gewünschten Intervall, z.b. alle 5 Minuten, per Cron laufen lässt:
#!/bin/bash # cron kennt nur volle Minuten - 10 Sekunden Offset aus der vollen Minute sleep 10 SCRIPTS=/usr/lib/check_mk_agent/cron/scripts OUTPUT=/usr/lib/check_mk_agent/data for i in `ls -1 $SCRIPTS/plugins` do $SCRIPTS/plugins/$i > $OUTPUT/plugins/$i mv $OUTPUT/plugins/$i $OUTPUT/plugins/cmk_$i done for i in `ls -1 $SCRIPTS/local` do $SCRIPTS/local/$i > $OUTPUT/local/$i mv $OUTPUT/local/$i $OUTPUT/local/cmk_$i done
# m h dom mon dow user command */5 * * * * root /usr/lib/check_mk_agent/cron/scripts/cron.sh
Die Ordner „cron/scripts/plugins“ und „cron/scripts/local“ enthalten dann die eigentlichen Checks die sonst in den Ordnern „plugins“ bzw. „local“ stehen würden. An stelle der eigentlichen Checks stehen dann in diesen beiden Ordnern nur folgende Scripte:
Ordner „plugins“:
#!/bin/bash cat /usr/lib/check_mk_agent/data/plugins/cmk_*
Ordner „local“:
#!/bin/bash cat /usr/lib/check_mk_agent/data/local/cmk_*