Another option might be to use the 'cron' format to tell it not to monitor during just that window. We do this during the final part of our db backup process when it requires a lock for a minute or so to finalize.

check program db-status with path /usr/local/bin/check_status with timeout 15 seconds
not every "50-55 0 * * *"
if status != 0 then alert


On 11/5/2015 8:41 AM, Russell Simpkins wrote:
Have you considered adjusting how often monit checks and set your cron job for log rotate to run in between? E.g. run monit every 5 seconds and have your log rotate happen on second 2. The PID would change, but shouldn't throw an alert.

On Thu, Nov 5, 2015 at 11:35 AM, Guillaume François <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    So we should also concluded there is currently no way to
    delayed/avoid the first alerts and that the only possibility is to
    "unmonitor" which can cause issues and is against goal of Monit ?

    Explanation: if we "unmonitor" the check (sometime process,
    sometime program) and an issue prevent the script in charge of
    "monitoring" again to successfully finished, the service will be
    down and we won't get alerted as it is "unmonitored".

    In fact "Log Rotation" was only one simple possible restart cause,
    but we have lots of custom scripts also for our custom tools like
    "restart if some conditions are met" with help of monit process
    exit code.

    Maybe a workaround would be to cut the action script in several
    part so that even if the restart is failing, the monitoring is
    still issued.

    Another workaround would be to check the status of the "monit
    check" and if this status is "unmonitor" for several cycles, force
    "monitoring" again in order to be notified that something bad happens.

    What is your point of view about these ?

    Best Regards.


    2015-11-05 12:31 GMT+01:00 Martin Pala <[email protected]
    <mailto:[email protected]>>:

        Hello,

        monit tests if the process is running - it cannot
        differentiate that the process was stopped intentionally by
        3rd party action ... if you shutdown the process intentionally
        during logrotate, you should disable its monitoring first
        (part of logratotation "prerotate" script):

                monit unmonitor myprocess

        and when logratotation finished, enable it again (part of
        logratotation "postrotate" script):

                monit monitor myprocess



        Regards,
        Martin



        > On 05 Nov 2015, at 11:42, Guillaume François
        <[email protected]
        <mailto:[email protected]>> wrote:
        >
        > Hello,
        >
        > Everyday we got an "non-exist" then "exist" alert when the
        process is shutdown then started for log rotation purpose.
        >
        > We would like to NOT receive the email linked to this kind
        of behavior but still get the email when the process is really
        down for some time.
        >
        > We would like something like
        >
        > check process myprocess with pidfile /var/run/myprocesspid.pid
        >         start program = "/usr/sbin/service myprocess start"
        >         stop program  = "/usr/sbin/service myprocess stop"
        >         if failed port 5555 protocol tcp for 3 cycles then
        restart
        >         if 5 restarts within 5 cycles then timeout
        > wanted ->        alert on {exist, non-exist} only if 5 event
        in 5 cycles.
        >
        > can be interpreted as -> only send alert for event 'exist'
        and event 'non-exist' if alert is triggerred 5 time in the
        last 5 cycles
        >
        > We saw we can change the 'alert/noalert' rule for some
        'email/event' but we cannot get a "conditional" rules for theses.
        >
        > Best Regards,
        >
        >
        > --
        > -----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------

    --
    To unsubscribe:
    https://lists.nongnu.org/mailman/listinfo/monit-general




--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

--
Paul Theodoropoulos
www.anastrophe.com

--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to