У меня есть:
Дело в том, что во время повторного развертывания происходит сбой пинга - и это нормально.
Итак, вопрос - как лучше всего научить monit учитывать факт передислокации и не путать его с «настоящими» блэкаутами.
Это, конечно, вопрос баланса между элегантностью, простотой реализации и масштабируемостью. Самое простое решение, которое я могу придумать, - это просто выключить monit перед развертыванием и запустить его снова. Но я полагаю, это далеко от элегантности.
Уловка состоит в том, чтобы сказать монитору, чтобы он «не отслеживал» цель, пока она не работает. двоичный файл monit использует для этих действий встроенный http-сервер. Обратите внимание, что httpd не вызывается до тех пор, пока не пройдет (возможное) время «задержки».
В monitrc:
set httpd port 2812 and use the address localhost
allow localhost
Вы можете проверить статус своего чека:
monit status <check_name>
Unmonitor с:
monit unmonitor <check_name>
Снова выполните мониторинг с помощью:
monit monitor <check_name>