Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've written a script which sends me an sms notification. I call with exec action in monit test. It works, but I'm getting overwhelmed by messages. Is there a way to suppress sending subsequent messages if check fails until it succeeds?

Here is the monit config file:

check system my_host
    if loadavg (1min) > 3 then alert
    if loadavg (1min) > 3 then exec "/usr/local/sms_notifier/sms_notifier.php all cpu load average exceeds 3" as uid nobody and gid sms
    if loadavg (5min) > 2 then alert
    if memory usage > 90% then alert
    if memory usage > 90% then exec "/usr/local/sms_notifier/sms_notifier.php all memory usage exceeds 90%" as uid nobody and gid sms
    if cpu usage (user) > 70% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 30% then alert
share|improve this question
    
Please show your monit configuration file. –  ewwhite Oct 3 '12 at 16:00
    
Maybe add something like [[<X>] [TIMES WITHIN] <Y> CYCLES] to your tests so you only trigger the alert if your issue is continuous, and not an intermittent spike? Or perhaps adjust your thresholds. –  Zoredache Oct 3 '12 at 16:39
    
loadavg 3 for a minute is the precise sign of something terrible in my case. I want to be noticed immediately, but I really don't need dozens of sms for one such event. Sole message is good enough. –  Dmitry Vyal Oct 3 '12 at 19:10
add comment

1 Answer

You need to add "cycles" to your config.

check system localhost
    if loadavg (15min) > 8 for 10 cycles then alert

See the Monit service test documentation.

share|improve this answer
    
Well, I'm not talking about alerts here. They are not repeated. I get one message when an event occurs and another when check succeeds again. Execs keep spamming me. I didn't set cycles option because it would increase the latency and I want to be notified asap. –  Dmitry Vyal Oct 3 '12 at 19:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.