[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [monit-dev] exec for service test
From: |
Jan-Henrik Haukeland |
Subject: |
Re: [monit-dev] exec for service test |
Date: |
Tue, 31 Aug 2010 23:12:00 +0200 |
Well, this has been on our TODO list for years. It's also up on our priority
list at http://mmonit.com/monit/next/ It will require some changes to the Monit
check machinery which is why this has been postponed for so long. The reason is
that Monit poll each service and attributes in one thread and use non-blocking
i/o and timeout to ensure forward progress. To check execution of a program or
script it requires that Monit fork and execute the program, wait for x seconds
in a separate thread to see if the program has returned or if an error has
occurred in the program. Not rocket science at all, but some work. The thing
is, Monit is ripe for some code refactoring and we want to wait with
implementing this functionally until then. Unfortunately we never seem to find
time starting on refactoring though I have hopes later this autumn.
On 31. aug. 2010, at 18.13, Larry Brigman wrote:
> I have run across a case where the existing network tests don't work
> and would like to use exec as the test probe returning
> success or failure.
>
> The case is a process that is an XML service processor but we don't
> know which port it will be on until it is configured.
> The request is sent as XML in the header and the response
> is sent back in the body.
> Since the XML response can have multiple possibilities of both success
> and failure depending on the deployment
> the send/expect doesn't work very well.
>
> We already have some python scripts that provide a test of the port
> but we want to do an active monitor
> with start stop actions like monit.
>
> What would be the easiest way to get exec "script" into the DSL?
>
> BTW, I like the method of allowing a service without a pid file. This
> service does not have one.