[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: check process with delay
From: |
Do |
Subject: |
Re: check process with delay |
Date: |
Wed, 29 Oct 2014 07:12:16 +0300 |
Thanks much, Martin!
I didn't realize that it's possible to override default action in such way.
This is great!
About idea with stopping monitoring this is not possible since updates are
automatic decision by 3rd party system.
Third idea I think of, is to let Monit sense that service is 'administratively
stopped' by `init.d/service stop` and not restart in that case. This is
possible in Centos, since their init scripts usually create
`/var/lock/subsys/servicename` file when service is started from init.d scripts
and `rm` that file when stopped. Thus, it's theoretically possible to
distinguish situation when service is died and not normally stopped. (This is
sort of what condrestart do.) Example, how I envision it:
check process exim with pidfile /var/spool/exim/exim-daemon.pid
if does not exists for 5 cycles then start
# 5 cycles since administrative stop can be slow
start "/sbin/service exim start"
depend exim.subsys
check file exim.subsys /var/lock/subsys/exim noalert address@hidden
But I think (from reading docs) Monit will just 'unmonitor' exim.subsys if
`/var/lock/subsys/exim` does not exists, so if it reappears nothing will
happen. Which is not what I need. Maybe there is proper way to do that sort of
checking?
Would be cool just to write 'depend on file /var/lock/subsys/exim' in 'check
process' statement, to make it only work when no `/var/lock/subsys/exim`
exists. Yes, that case will prevent service start after reboot, which is
tolerable or even desired in case of Monit used only as watchdog. (Sorry,
feature request again. :)
Thanks,
Don.
28.10.2014, 17:39, "Martin Pala" <address@hidden>:
> Hello,
>
> you can disable the monitoring before your update begins and enable it again
> when it stops:
>
> 1.) monit unmonitor exim
> 2.) perform exim update / deploy application
> 3.) monit monitor exim
>
> If you need to delay the implicit restart if the process stopped, you can
> override the default action:
>
> --8<--
> check process exim with pidfile /var/spool/exim/exim-daemon.pid
> if does not exist for 10 cycle then restart
> --8<--
>
> Regards,
> Martin
>> On 28 Oct 2014, at 15:21, Do <address@hidden> wrote:
>>
>> Hello,
>>
>> Many people, like me, have host management systems (like cPanel), that when
>> doing periodic system update can temporary stop/start services on its own.
>> But I still want Monit to watch services. So I need Monit to lag a bit for
>> its checks, thus making it always slower than quick service stop/start when
>> system is updated. But I don't see suitable options in Monit config.
>>
>> For example, If I have
>>
>> check process exim with pidfile /var/spool/exim/exim-daemon.pid
>> every 10 cycles
>> start "/sbin/service exim start"
>>
>> (where cycle=1minute), this does not guarantee that Exim is permitted to be
>> down for 10 minutes. It could happen than Monit just reached 10th cycle
>> seconds before Exim is stopped. As consequence Exim will be started in the
>> middle or stopping or updating.
>>
>> Can we have something like 'for 10 cycles [then start]' option added for
>> 'every 1 cycle' statement? (Feature request.)
>>
>> Thanks,
>> Don.
>>
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
>
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general