У меня есть настройка monit для проверки нескольких поддоменов HTTP-сервера.
В настоящее время это несколько операторов проверки хоста, которые выглядят следующим образом:
CHECK HOST a.example.com with address 1.2.3.4
if failed url https://blah then alert
CHECK HOST b.example.com with address 1.2.3.4
if failed url https://blah then alert
Возможен отказ всего сервера или любого поддомена.
В случаях, когда весь сервер не работает или если мы потеряли балансировщик нагрузки, я бы не хотел получать уведомления для дюжины отдельных поддоменов.
Может ли один неудачный тест отключить последующий тест? Можно ли сгруппировать все эти URL-адреса в одном разделе HOST и объединить их в ИЛИ?
Может ли один неудачный тест отключить последующий тест?
Насколько мне известно, с Monit это невозможно.
Можно ли сгруппировать все эти URL-адреса в одном разделе HOST и объединить их в ИЛИ?
Да, вы можете просто добавить столько if
правила, как вы можете (или ваш жесткий диск будет хранить ;-)). Поскольку каждый if
это правило само по себе, оно автоматически действует как OR
связано.
Я всегда связываю их со своим процессом httpd следующим образом:
check process "nginx" with pidfile /var/run/nginx.pid
start program = "/bin/systemctl start nginx.service"
restart program = "/bin/systemctl restart nginx.service"
stop program = "/bin/systemctl stop nginx.service"
if failed
host glances.boppy.eu
port 443
protocol https
request "/.well-known/nitmo-ping.txt"
with ssl options {verify: enable}
ssl certificate valid 5 days
then alert
Таким образом, он не только проверяет доступность домена / пути / файла, он также информирует меня, если моя глупая задача cron по обновлению сертификатов не сработала.