Назад | Перейти на главную страницу

Как интегрировать monit в процесс развертывания веб-приложения

У меня есть:

  1. Tomcat с веб-приложением, развернутым через mvn tomcat: повторно развернуть.
  2. Monit, пингует хост и перезапускает сервер, если пинг не удался.

Дело в том, что во время повторного развертывания происходит сбой пинга - и это нормально.

Итак, вопрос - как лучше всего научить 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>