我如何配置 monit 使其仅发出警报而不是重新启动?

我如何配置 monit 使其仅发出警报而不是重新启动?

我正在寻找一种方法,让 monit 仅在特定进程发生故障时发出警报。例如:

check process apache
  with pidfile /var/run/httpd.pid
  group www
  start program = "/usr/sbin/apachectl start"
  stop  program = "/usr/sbin/apachectl stop"
  alert [email protected] with reminder 5

有了该配置,apache 将重新启动,进程将消失。我不想发生这种情况,而是希望保持关闭状态,直到有人可以手动干预。

对于那些好奇为什么的人来说:

我们的生产环境使用 monit 来控制应用程序。我们的非生产环境则不使用。这导致了一个问题,因为我们的开发人员更改了某个特定应用程序的启动方法。它在进入生产环境之前一直通过我们的非生产环境,而 monit 最终关闭了该应用程序,因为它在预生产中没有被捕获。

我希望在非生产环境中安装 monit,这样我们就可以捕获此类故障,但由于它不是关键任务,因此我们不需要自动重启服务。

答案1

mode passive:“在被动模式下,Monit 将被动监控服务并发出警报,但不会尝试解决问题。”

http://mmonit.com/monit/documentation/monit.html#service_monitoring_mode

相关内容