在停止/启动时禁止Monit消息“Monit instance changed”

我有一些用户笔记本电脑/桌面上安装monit,所以它可以确保几个进程总是运行/得到重新启动需要。 但是由于设备定期关机/重新启动,我经常会收到类似下面的消息,我不想或不在意,因为他们告诉我系统已经重新启动。 我想抑制monit开始/停止时自动发生的消息。

Subject: monit alert -- Monit instance changed Service - system_slaveone Event - Monit instance changed Action - start Date - Thu, 18 Apr 2013 07:53:51 Host - slaveone.example.local (slaveone) Description - Monit started. 

但是,一旦系统启动,我确实希望得到一些关于我想要通知的服务/资源的警报,所以简单地禁用电子邮件并不是我想要的。

如何在不完全禁用电子邮件的情况下抑制启动/重新启动时的消息?

哦没问题…

要抑制特定检查的Monit警报,您需要使用noalert指令。

例如,我可以检查每周重新启动的cron守护进程。 也许我不想在每个星期天收到我的邮箱

 check process cron noalert [email protected] with pidfile "/var/run/crond.pid" start program = "/sbin/service crond start" stop program = "/sbin/service crond stop" 

这适用于任何Monit检查,因此为了处理系统的实例警报,您可以通过在check system localhost条目下添加noalert来禁止:

  check system localhost noalert [email protected] 

尝试一下。 这仍然留下任何真正的服务/守护进行Monit保护,但减less了喋喋不休。 非常适合行为不端的应用程序

 check process nslcd with pidfile "/var/run/nslcd/nslcd.pid" every 2 cycles noalert ewwhite@bra**ers.com start program = "/sbin/service nslcd start" stop program = "/sbin/service nslcd stop" if 10 restarts within 11 cycles then timeout if cpu usage > 95% for 11 cycles then restart if totalmemory > 128 MB then restart 

为了在monit启动/停止时特别过滤电子邮件,可以使用instance事件filter:

 set alert [email protected] not on { instance } 

正如在文档中 :

 Event: | Failure state: | Success state: --------------------------------------------------------------------- ... INSTANCE | "Monit instance changed" | "Monit instance changed not" ...