If the check script fails, have it kill the program.  Then the
program check will notice it's not running and restart it.

Or you can write everything into one script...


  -- Noel Jones


On 10/9/2018 1:05 PM, Steven Christensen wrote:
> Noel,
>
> I see what you mean.
>
> But if check_xyzzy fails, how can I cause xyzzy to be restarted? I
> don't know of any way to have one check cause another check to be
> restarted.
>
> I was thinking more, and this may not be solvable with separate
> check statements.
> I may have to combine both the checking of the process and
> checking of the actual functioning of the feature in a single
> unified script, like this:
>
> =====================================
> check program xyzzy with path "/root/check_xyzzy.sh"
>       start program "/root/start_xyzzy.sh"
>       stop program /usr/bin/pkill -f "xyzzy"
>       if status != 0 then restart
> =====================================
>
> where check_xyzzy.sh checks 2 things:
> 1) ps -ef | fgrep "xyzzy"     -- to make sure the process exists
> 2) check the function that xyzzy provides, to make sure the
> function is working
>
> It would return a bad status if either of these fails.
>
> -- Steven
>
>
> On Tue, Oct 9, 2018 at 11:22 AM Noel <[email protected]
> <mailto:[email protected]>> wrote:
>
>     You have it backwards.  check_xyzzy depends on xyzzy.
>
>     First run the process, then run the script to see if the
>     process is working.
>
>
>       -- Noel Jones
>
>     On 10/8/2018 6:08 PM, Steven Christensen wrote:
>>     Hi Viktor,
>>
>>     Thank you for your examples. You have a very complex monit
>>     configuration, and I can learn a lot.
>>
>>     However, I tried the "depends" implementation, but it did not
>>     work when trying to start the service.
>>
>>     If my "xyzzy" service depends on "check_xyzzy" then it will
>>     not be able to start, because before xyzzy is able to start.
>>     monit wants check_xyzzy to work, but check_xyzzy doesn't
>>     succeed, because xyzzy isn't running. It is a "chicken and
>>     egg" problem.
>>
>>     -- Steven
>>
>>
>>
>>     On Sat, Oct 6, 2018 at 2:03 AM SZÉPE Viktor <[email protected]
>>     <mailto:[email protected]>> wrote:
>>
>>         Idézem/Quoting Steven Christensen <[email protected]
>>         <mailto:[email protected]>>:
>>
>>         > Hello,
>>         >
>>         > Long time monit user, and I really love it.
>>         >
>>         > I have the following (equivalent) process monitor entry:
>>         >
>>         > =====================================
>>         > check process xyzzy matching "xyzzy"
>>         >       start program "/root/start_xyzzy.sh"
>>         >       stop program /usr/bin/pkill -f "xyzzy"
>>         > =====================================
>>         >
>>         > But sometimes the process can exist but it isn't doing
>>         what it needs to do.
>>         > I have another script which checks if xyzzy is actually
>>         working, and
>>         > returns a status depending on the results of the check.
>>         >
>>         > So I'd like something that looks like this (note last
>>         line):
>>         > =====================================
>>         > check process xyzzy matching "xyzzy"
>>         >       start program "/root/start_xyzzy.sh"
>>         >       stop program /usr/bin/pkill -f "xyzzy"
>>         >       if program "/root/check_xyzzy.sh" status != 0
>>         then restart
>>         > =====================================
>>         >
>>         > It's the last line I don't know how to achieve. Are
>>         there any suggestions?
>>         >
>>         > Thanks - Steven
>>
>>         Hello Steven!
>>
>>         I use tiny script with "depends on"
>>         
>> https://github.com/szepeviktor/debian-server-tools/blob/master/monitoring/monit/services/fail2ban_script
>>         to check on services
>>         
>> https://github.com/szepeviktor/debian-server-tools/blob/master/monitoring/monit/services/fail2ban#L11
>>
>>
>>         SZÉPE Viktor, honlap üzemeltetés / Running your application
>>         https://github.com/szepeviktor/debian-server-tools/blob/master/CV.md
>>         -- 
>>         ügyelet/hotline: +36-20-4242498  [email protected]
>>         <mailto:[email protected]>  skype: szepe.viktor
>>         Budapest, III. kerület
>>
>>
>>
>>
>>
>>
>>         -- 
>>         To unsubscribe:
>>         https://lists.nongnu.org/mailman/listinfo/monit-general
>>
>>
>
>     -- 
>     To unsubscribe:
>     https://lists.nongnu.org/mailman/listinfo/monit-general
>
>

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

Reply via email to