使用多个 URL 监控警报

使用多个 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 部分下并将它们组合在 OR 中?

答案1

一次失败的测试会导致后续测试失败吗?

据我所知,Monit 无法做到这一点。

是否可以将所有这些 URL 分组到单个 HOST 部分下并将它们组合在 OR 中?

是的,您可以随意添加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

因此,它不仅检查域/路径/文件的可用性,如果我的愚蠢的 cronjob 更新证书没有完成,它还会通知我。

相关内容