Re: Q: Arbitrary program status for process check?

Steven Christensen <[email protected]>
Newsgroups gmane.comp.monitoring.monit.general
Message-ID <CAPf-+Sfm3tW5djYMC1fLMJXo_uqEUw2TV1FV5hiGzhm1yn0+kA@mail.gmail.com>
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]> 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]> wrote:
>
>> Idézem/Quoting Steven Christensen <[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]  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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.