Sorry it came to my mind after I hit sent button but we got a similar
question somewhere recently and there exist another pattern also I'm using

alert [email protected] with reminder on 15 cycles


check program check1 with path
"/var/lib/monit/scripts/checkManualValidationLate.sh" not every "* 9-21 * *
*"
if status != 0 for 2 cycles then alert
alert [email protected] with reminder on 15 cycles
alert [email protected] with reminder on 10 cycles
alert [email protected] with reminder on 5 cycles


2017-01-26 17:55 GMT+01:00 Guillaume François <
[email protected]>:

> Hi
>
> In my case, I use a custom script to alert and Notify at the same time
> like below
>
> if does not exist then exec "/var/lib/monit/scripts/notifyAndExecute.sh
> /bin/mount /path/to/remount" else if succeeded then exec
> "/var/lib/monit/scripts/notifySuccess.sh"
>
> This way I can alert by using what ever channel (email;,sms, webhook
> etc...) and run command at the same time.
>
> I did this because in the the past monit didn't supported several rules
> but Monit evolved and you can now defined several rules for one event like
> below (in the past it was overwriting/ignored)
>
> if does not exist for 3 cycles then alert
> if does not exist for 5 cycles then start
> if failed port 8080 for 3 times within 4 cycles then alert
> if failed port 8080 for 6 times within 8 cycles then restart
> if failed port 8443 for 3 times within 4 cycles then alert
> if failed port 8443 for 6 times within 8 cycles then restart
> if failed port 9990 for 3 times within 4 cycles then alert
> if failed port 9990 for 6 times within 8 cycles then restart
>
>
> if does not exist for 10 cycles then alert
> if does not exist for 5 cycles then exec "/bin/mount /mnt/nfs"
>
> I don't have samples, but from my memory, you can also define several
> actions for the same "event" several times with newer version like below
>
> if does not exist for 5 cycles then alert repeat every 2 cycles
> if does not exist for 5 cycles then exec "/bin/mount /mnt/nfs" repeat
> every 3 cycles
> if does not exist for 5 cycles then exec "/some/script/notify" repeat
> every 3 cycles
>
>
> In your case it would be something like (not tested)
>
> if status != 0 then exec "/usr/local/monit/conf/dummy.sh" repeat every 10
> cycles
> if status != 0 then alert repeat every 10 cycles
>
> Hope this help.
>
>
> 2017-01-26 17:16 GMT+01:00 Riccardo Leonardi <[email protected]>:
>
>> Hi,
>>
>> thank you for your answer.
>> I've checked the syntax about repeat feature, and it works (I have
>> 5.20.0).
>> Unfortunately what I need is not the script execution: that's is ok.
>> What I need is repeat of alert notification, and as far as I know this
>> notification is sent when the state changes only: OK->Failure and
>> Failure->OK.
>> As workaround I could explore some configuration at server side or
>> forging some explicit signal by the script that is run every x cycles (see
>> dummy.sh in my example), but I don't know how to do it.
>>
>> Thansk again
>>
>> Pensare Web srl, via Macanno | 38/N
>> 47923 Rimini RN (Italy)
>> T. 0541 309547 | F. 0541 1646143
>>
>> Il 26/01/2017 16:56, Guillaume François ha scritto:
>>
>> Hi,
>>
>> Syntax is ok https://mmonit.com/monit/documentation/monit.html#ACTION
>>
>> Could it be an issue related to the version of Monit you're using ?
>>
>> Changelog (https://mmonit.com/monit/changes/) shows the behavior was
>> changed in 5.16.0 as before it was forced to "repeat every 1 cycle".
>>
>> Therefore this syntax was not supported before.
>>
>> Best Regards.
>>
>> 2017-01-26 16:27 GMT+01:00 Riccardo Leonardi <[email protected]>:
>>
>>> Hi,
>>>
>>> I have a script checking mail queue returning alert if queue lenght is
>>> greather than some threshold.
>>>
>>> The alert is correctly forwarded to slack channel, but when the
>>> threshold is reached only, not when the queue remains over the threshold.
>>>
>>> In fact the behaviour I'd like to implement is:
>>> - receive the alert when the queue goes over the threshold
>>> - continue receiving the alert (possibly with current queue lenght)
>>> every x cycles
>>> - stop receiving when the queue returns under the threshold
>>>
>>> Currently I have implemented the following:
>>>
>>> check program qlen_check with path "/usr/local/monit/conf/check_qlen.sh
>>> 200"
>>>     if status != 0 then exec "/usr/local/monit/conf/dummy.sh" repeat
>>> every 10 cycles
>>>
>>> The script check_qlen.sh echoes queue lenght and return 1 if queue > 200.
>>> As soon as that happens I got 1 slack alert only, while I'd like to keep
>>> receiving it every x cycles (when dummy.sh is correctly run).
>>>
>>> Does anyone have any suggestion how to achieve that behaviour?
>>>
>>> Thank you in advance.
>>>
>>> Rik
>>>
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>>
>>
>>
>>
>> --
>> -----BEGIN GEEK CODE BLOCK-----
>> Version: 3.1
>> GCS/IT d(+) s++:- a C++$ ULC(+)>+++$ !P--- L+>$ !E---? W+++$ !N* !o--
>> K--? w(+) !O---? !M- !V--? PS+? !PE Y+ PGP++>+++ !t-- !5 !X- R(+)>++* tv-?
>> b(-) DI !D- G(+)>+ e+++ h--() r->$ y?*
>> ------END GEEK CODE BLOCK------
>>
>>
>> --
>> To unsubscribe:https://lists.nongnu.org/mailman/listinfo/monit-general
>>
>>
>>
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>
>
>
>
> --
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.1
> GCS/IT d(+) s++:- a C++$ ULC(+)>+++$ !P--- L+>$ !E---? W+++$ !N* !o-- K--?
> w(+) !O---? !M- !V--? PS+? !PE Y+ PGP++>+++ !t-- !5 !X- R(+)>++* tv-? b(-)
> DI !D- G(+)>+ e+++ h--() r->$ y?*
> ------END GEEK CODE BLOCK------
>



-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d(+) s++:- a C++$ ULC(+)>+++$ !P--- L+>$ !E---? W+++$ !N* !o-- K--?
w(+) !O---? !M- !V--? PS+? !PE Y+ PGP++>+++ !t-- !5 !X- R(+)>++* tv-? b(-)
DI !D- G(+)>+ e+++ h--() r->$ y?*
------END GEEK CODE BLOCK------
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to