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

Reply via email to