|
From: | Steven Christensen |
Subject: | Re: Q: Arbitrary program status for process check? |
Date: | Tue, 9 Oct 2018 23:51:16 -0400 |
--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 exists2) 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 <address@hidden> 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 <address@hidden> wrote:
Idézem/Quoting Steven Christensen <address@hidden>:
> 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 address@hidden 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
[Prev in Thread] | Current Thread | [Next in Thread] |