我有一个监控程序如下
check program test_pgm with path "/bin/bash /var/run/test.sh"
every 2 cycles
if status !=0 for 2 cycles then alert
假设我的monit守护进程设置为每60秒运行一次,这意味着每个周期为1分钟。我想每2分钟运行一次我的程序,如果它连续两次失败就会发出警报
我上面说的对吗?或者我应该说
if status !=0 for 4 cycles then alert
或者应该是
if status !=0 for 2 times within 2 cycles then alert
最佳答案
if status !=0 for 2 cycles then alert
似乎是正确的。似乎只计算执行的周期。
运行测试monit -d 6 -vI -c ./monit_test_every2.conf
/monit_test_every2.conf的内容:
check program test_pgm with path "/bin/false fail always"
every 2 cycles
if status !=0 for 2 cycles then exec "/bin/true alerting"
(当您以运行normal monit的同一用户的身份运行时,也可以设置pid文件和状态文件。)