
Ich möchte, dass Nagios einen Bash-Befehl/ein Bash-Skript ausführt, wenn es erkennt, dass ein Host ausgefallen oder aktiv ist. Dadurch könnte ich bis zu einem gewissen Grad auf ausgefallene Hosts reagieren, was sehr interessant wäre.
Wie würde ich das machen?
Antwort1
Eventhandler sind Ihre Freunde:http://nagios.sourceforge.net/docs/3_0/eventhandlers.html.
Antwort2
Fügen Sie in Ihre Befehlsdatei den gewünschten Befehl ein
define command{
# try this before
command_name my_restart
command_line /usr/lib64/nagios/plugins/my_restart.sh $HOSTADDRESS$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}
in Ihre Servicedefinition
define service{
.....
event_handler my_restart
....
}
die Argumente, die Sie in Ihrem Skript erhalten, sind die, die in der Befehlsdatei definiert sind. Sie können sie auch sehen, indem Sie echo $@ in Ihr Skript eingeben - es ist wichtig, die Hostadresse zu kennen, falls Sie einen Remote-Host aufrufen, sowie den Dienststatus (Sie ergreifen unterschiedliche Maßnahmen bei KRITISCH, OK oder WARNUNG).
ich schlage vor, dass Sie sich zumindest am Anfang in Ihr Skript einloggen.