daemon monitoring

Jez Hancock jez.hancock at munk.nu
Sun Nov 23 17:19:23 PST 2003


On Mon, Nov 24, 2003 at 02:11:39AM +0100, Alex de Kruijff wrote:
> On Sun, Nov 23, 2003 at 04:46:09PM -0800, Will Prater wrote:
> > On Nov 23, 2003, at 1:57 PM, Alex de Kruijff wrote:
> > >On Sun, Nov 23, 2003 at 10:52:48AM -0800, Will Prater wrote:
> > >>List,
> > >>
> > >>What are most of you using to monitor the running daemons? I have been
> > >>loooking into DJB daemontools which seems appropriate, but are there
> > >>any others that you reccomend?
> > >>
> > >>If DJB's daemontools is the one, could I get some more examples? I am
> > >>primarily trying to keep my mail system online: postfix, cyrus,
> > >>saslauthd, mysql, and spamassassin.
> > >
> > >I would advise Nagios.
> >
> > Sorry, I mispoke. I will be using Nagios to monitor, but I need to make 
> > sure they will restart if there is an error. Will nagios do this as 
> > well?
> > 
> I don't *think* so.
> 
> You could write a sh script (or any other) that does this. It could
> contain this line:
> result=px aux | grep SomeDaemon | wc -l
> 
> If the result is zero than SomeDaemon is not running.

Alternatively you could just write a script that polls a number of
pid-files, one per daemon you want to monitor, and checks if the daemon
is still running - if not it restarts the daemon.

The gist of the script would be:

- for each pid, send a CHLD signal to the pid
- if the return code is 0, the process is still running so do nothing,
  otherwise restart the daemon

I've not used daemontools too much away from djbdns suite, but
presumably you could use supervise to do the work.

-- 
Jez Hancock
 - System Administrator / PHP Developer

http://munk.nu/


More information about the freebsd-questions mailing list