Кто-нибудь знает, есть ли у Nagios возможность установить временный check_interval настройки на сервисную проверку и вернуть ее обратно через X минут?
Мое определение проверки службы выглядит так:
define service {
host_name prodhost
use http
service_description www.example.com:8080
check_command check_http!8080!example.com:8080!/!5.000!10.00
servicegroups http-check
check_interval .5
retry_interval .25
max_check_attempts 3
}
Проблема в том, что каждый раз, когда в мое веб-приложение вносятся изменения (через CI), оно также должно перезапускать приложение как часть процесса развертывания. Что вызывает некоторые из моих 5-секундных и 10-секундных предупреждений и критических предупреждений.
Я бы хотел сохранить свой текущий check_interval, retry_interval, и max_check_attempts пороги в такт, но иметь возможность временно изменять их при каждом развертывании и возвращать его в исходное состояние через 3 минуты.
Вы имеете в виду Адаптивный мониторинг. Это не обязательно Лучший способ достижения вашей цели, но вы можете изменить эти параметры с помощью внешних команд. Например, вы можете отправить их удаленно через скрипт, который подключается с помощью ssh с ключами.
(Из-за ваших интервалов менее одной минуты потребуется некоторая настройка, чтобы правильно выбрать время, поскольку Nagios, возможно, еще не обработал команду до запуска вашей следующей проверки.)
Ваш рабочий процесс развертывания отправит команду Nagios для изменения параметров, а затем отправит другую, чтобы изменить их позже (после перезапуска службы). Точно так же вы можете временно отключить активные проверки или уведомления.
Что вам, вероятно, следует сделать вместо этого (автоматически) помещает сервис (ы) в запланированный простойчерез процесс развертывания. Преимущество простоя состоит в том, что у него есть время остановки / окончания, поэтому вам не нужно отправлять вторую команду, чтобы отменить изменения.