Eric Brown wrote: > It's not just init scripts that are designed poorly, it's applications > that fail to daemonize and dont' return non-zero. (like apache-1.3, > ntp-date, snort, etc.. most servers). Yeah, that is the real problem, but that is not fixable immediately.
> I think the new baselayout has some adjustable sleep/checks on by > default, but I haven't tries it yet. I suppose that would work by > having the init script sleep for a short time, then check to see if a > certain process is running (a dirty hack that's frowned updon by > some)... > > Anyway, I really think this is something worth looking into, either as > a separate package that implements some kind of monitoring functions > in init scripts, or as a basic set of monitoring functions that are > included in baselayout for developers to optionally use. > While there are options like daemontools and rmon? I don't think they > provide a very robust solution to this problem. Can you elaborate on this? What is wrong with daemontools? http://cr.yp.to/daemontools/faq/create.html#why > Here's an idea: > > Have users emerge a program that can do some basic things: emerge daemontools > 1) check config scripts of running services for variables like: > CHECK_COMMAND svstat /service/daemon > SLEEP_TIME If I get you right, this is hard coded to 1 second for supervise. > INIT_SLEEP If I get you right, this is hard coded to 1 second for supervise. > IF_DOWN_DO_THIS Not sure how important is this, but flexibility can be achieved inside the ./run script of the daemon. The normal thing is to start it again. svc -u /service/daemon > (those variables could optionally be implemented per package, or > explicitly disabled, they would have sane defaults in a central .conf > file for this enhancement package) This can be worked on, the start is sys-process/daemontools-scripts. > 2) is a cron job/daemon that automatically checks all running apps in > the current runlevel, can report problems (send emails, log stuff, > etc), can send heartbeat, etc.. Can you trust cron, started from a init script? Instead a script started under supervise, as simple as this: #!/bin/bash sleep 60; `svstat /service/* |grep down >/dev/null` && \ echo "Something is wrong" | your_favourite_mailer_here (The above is not tested, just thought of. Feel free to improve). (Like there can be intentionally down-ed services -e /service/daemon/down) > 3) is well documented in the gentoo handbook since it's probably a > vital component http://cr.yp.to/daemontools.html is a good start, in can be improved for sure. > To me this kind of thing is probably simple, unixish, and robust > enough for most of our needs... > > Any thoughs? Don't top-post :-) Kalin. /known also as Korokoro or tar/ P.S. Whose MTA changes the subject with [OBORONA-SPAM] ? Please remove that; use a custom header instead. -- |[ ~~~~~~~~~~~~~~~~~~~~~~ ]| +-> http://ThinRope.net/ <-+ |[ ______________________ ]| -- [email protected] mailing list
