在 monit 中执行两项操作

在 monit 中执行两项操作

我的 monit 脚本用于检测进程的中断并在规则满足以下条件时通知我:

  IF DOES NOT EXIST THEN ALERT

我的 monit 脚本用于检测中断并在规则如下时自动修复它:

  IF DOES NOT EXIST THEN START

但我希望它能做的是通知我并修复它

连续两条规则似乎会让它忽略除最后一条之外的所有规则:

  IF DOES NOT EXIST THEN ALERT
  IF DOES NOT EXIST THEN START
  # No alert given.

我可以使用一个自定义脚本来同时完成这两项工作,

  IF DOES NOT EXIST THEN EXEC "my_handwritten_script"

但我试图摆脱混乱的手写脚本,转而采用干净的 Monit 配置。

我可以配置 Monit 采取两个操作吗?

答案1

当 Monit 采取行动时,它会默认向您发送一封电子邮件。

Does not exist Service atd

    Date:        Thu, 03 May 2012 14:37:19 -0400
    Action:      restart
    Host:        abc.xyzgroup.com
    Description: process is not running

Your faithful employee,
Monit

我对此服务的 Monit 配置:

check process atd
        with pidfile "/var/run/atd.pid"
        start program = "/sbin/service atd start"
        stop program = "/sbin/service atd stop"
        if 10 restarts within 11 cycles then timeout
        if cpu usage > 95% for 11 cycles then restart

相关内容