[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiple (changing) PIDs on a single file

From: Martin Pala
Subject: Re: Multiple (changing) PIDs on a single file
Date: Wed, 12 Dec 2012 12:48:50 +0100


you can integrate custom test script with Monit via the "check program" statement:


On Dec 12, 2012, at 4:03 AM, Isern Palaus <address@hidden> wrote:


I am trying to configure monit to monitor "php-resque", . php-resque is a library to create background jobs. You can run a single worker to N, it does the job well.

The problem:  I can't monitor at all when it runs with N processes. Internally, while php-resque is executed will try to fork a process, if it's not running it will create a new one at when atleast one worker is still alive. It auto-prune dead workers and start new ones. This means that PIDs usually changes, now I've this running:

PID 6028 running
PID 6029 running
PID 6030 running

The problem is that the way php-resque works, if PID 6028 is dead, it will restart php-resque. This means killing all the PIDs and starting it. This isn't why I expected because if there is atleast one running PID it will always start all the missing ones.

Situation (I've 3 workers running):

PID 6028 not found running
PID 6029 running
PID 6030 running

monit see that 6028 is not running, so it restarts:

PID 6029 running
PID 6030 running
PID 13570 running
PID 13571 running
PID 13572 running

When 6029 is found not running, it will do the same and add 3 more workers (becuase is what does /etc/init.d/php-resque start). 

I tried to search an example of similar situations but I don't find anything. What will be cool is to be able to check if all PIDs are dead and not only the first one.

I see that you can check not only for process but for files: "check file apache_rc with path /etc/init.d/apache" so I assume that there is a way to using for example a bash script that will return "OK" or "ERROR" or something similar to let know monit what to do. I can't find documentation on this so I'm a bit lost.

Thanks in advance,
To unsubscribe:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]