
Я хотел бы, чтобы Nagios выполнял команду/скрипт Bash, когда он обнаруживает, что хост выключен или включен. Это позволило бы мне реагировать на выключенные хосты в какой-то степени, что было бы очень интересно.
Как бы я это сделал?
решение1
Обработчики событий — ваши друзья:http://nagios.sourceforge.net/docs/3_0/eventhandlers.html.
решение2
в ваш файл команд добавьте нужную вам команду
define command{
# try this before
command_name my_restart
command_line /usr/lib64/nagios/plugins/my_restart.sh $HOSTADDRESS$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}
в определение вашей услуги
define service{
.....
event_handler my_restart
....
}
Аргументы, которые вы получаете в свой скрипт, определены в командном файле. Вы также можете увидеть их, выполнив команду echo $@ в своем скрипте. Важно знать адрес хоста на случай, если вы будете вызывать удаленный хост, а также состояние службы (вы предпринимаете различные действия при CRITICAL, OK или WARNING).
Я предлагаю вам хотя бы в начале внести некоторые изменения в свой скрипт.