如何将 monit 集成到 Web 应用部署过程中

如何将 monit 集成到 Web 应用部署过程中

我有:

  1. 通过 mvn tomcat:redeploy 部署带有 webapp 的 Tomcat。
  2. 监控,ping 主机,如果 ping 失败则重新启动服务器。

在重新部署期间,有时会出现 ping 失败的情况 —— 实际上,这是正常现象。

所以,问题是 - 什么是最好的方法来解决监控考虑重新部署的事实,而不是将其与“真正的”停电混淆的问题。

这当然是优雅、易于实现和可扩展性之间的平衡问题。我能想到的最直接的解决方案就是在部署之前关闭 monit,然后在部署之后再次启动它。但我想这远非优雅。

答案1

诀窍是告诉 monit 在目标关闭时“取消监控”。monit 二进制文件使用内置 http 服务器执行这些操作。请注意,httpd 直到(最终的)“延迟”时间过去后才会启动。

在 monitrc 中:

 set httpd port 2812 and use the address localhost
    allow localhost

您可以检查支票的状态:

monit status <check_name>

取消监控:

monit unmonitor <check_name>

再次监控:

monit monitor <check_name>

相关内容