Автоматизировать расписание и отменить время простоя в Nagios
Я пытаюсь запланировать и отменить время простоя в Nagios Core 4.x.
Я мог бы запланировать время простоя для хоста, используя следующий cmd:
curl --silent --show-error --data cmd_typ=55 --data cmd_mod=2 --data host=automichost1 --data "com_data=Updating+application" --data trigger=0 --data "start_time=05-15-2016 19:00:00" --data "end_time=05-15-2016 19:15:00" --data fixed=1 --data btnSubmit=Commit --insecure http://localhost:80/nagios/cgi-bin/cmd.cgi -u "nagiosadmin:XXXXXX"
Этот cmd не возвращает сгенерированный идентификатор простоя и просто возвращает HTML-файл.
но чтобы отменить график простоя мне нужно использовать следующее
curl --silent --show-error --data cmd_typ=78 --data cmd_mod=2 --data down_id=2 --data "com_data=Updating+application" --data btnSubmit=Commit --insecure http://localhost:80/nagios/cgi-bin/cmd.cgi -u "nagiosadmin:xxxxxxx"
Здесь мне нужно down_id, чтобы отменить время простоя. В сценарии автоматизации нет способа получить этот идентификатор простоя от любой внешней команды nagios. Я также попробовал следующую внешнюю команду, упомянутую на http://docs.icinga.org/latest/en/cgiparams.htmlCMD_DEL_DOWNTIME_BY_HOST_NAME 171.
но это не работает в Nagios и выдает сообщение "Извините, но вы не авторизованы для выполнения указанной команды".
Я застрял сейчас и не могу двигаться вперед. кто-нибудь знает, как этого добиться?
2 ответа
Поскольку я долго не получал ответ на свой запрос, я публикую, как я его решил.
Я задал тот же вопрос на форуме клиентов nagios и получил ответ. Генератор запросов JSON очень удобен для такого рода вещей (где xxxx - это ваша установка Core):
хххх / Nagios / jsonquery.html
Краткое введение в JSON Query Generator:
labs.nagios.com/2014/06/19/expl... -7-part-1 /
Если вы хотите проверить, запланировано ли на хосте yyyy время простоя, вы можете попробовать следующий запрос (где xxxx - это ваша установка Core):
downtimelist будет пустым, если не запланировано время простоя, в противном случае он будет содержать идентификатор простоя для каждого запланированного простоя для хоста yyyy
Также, если вам нужен графический ответ, удалите json из скрипта, который вы запускаете:
Я успешно удалил / отменил "идентификатор простоя" с 251 до 348 на моем сервере Centos с помощью этой команды:
for i in `seq 251 348`; do /bin/printf "[%lu] DEL_SVC_DOWNTIME;$i\n" `date +%s` > /var/spool/nagios/cmd/nagios.cmd; done