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

Мониторинг оповещений с несколькими URL-адресами

У меня есть настройка 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 по обновлению сертификатов не сработала.