monit-general
[Top][All Lists]
Advanced

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

Strategy for multi-distro .monitrc management?


From: Stephen Dowdy
Subject: Strategy for multi-distro .monitrc management?
Date: Thu, 12 Apr 2007 15:07:52 -0600
User-agent: Thunderbird 1.5.0.10 (X11/20070221)

I have to deploy monit on Debian, RHEL4, SuSE SLES9.  Unfortunately, each is
different enough that a single .monitrc won't work.  Specifically, as an
example, 'sshd' and 'ntpd' init.d scripts have different names across all
three distros.  (/etc/init.d/{x,}ntp{,d} /etc/init.d/ssh{,d} ...)

It would be nice if monitrc had some simplistic preprocessor handling, like:

#ifdef RHEL4
include RHEL4/sshd
#else ifdef DEBIAN
include Debian/sshd
#endif

or if it supported variable expansion:

include ${DISTRO}/sshd

Additionally, for a logfile scanner, i look for "Out of Memory: Kill
process" messages, but the default syslog writes these in different places
on different distros, so my 'logscan' monitrc include snippet would benefit
from variable expansion or preprocessor conditionals, etc.

-------------------
#ifdef RHEL4
syslogfile=/var/log/messages
#else ifdef DEBIAN
syslogfile=/var/log/syslog
#endif

check file SYSLOGFILE with path ${syslogfile}
-------------------

I could create a bunch of start/stop front-end scripts that did all the
conditional determination/processing themselves in /etc/opt/monit/init.d or
something, but that's also non-optimal.

Running the .monitrc through an m4 or cpp first-run might be workable, but
again, isn't as desireable as having built-in support in Monit to do this.

I would prefer to have to manage a SINGLE .monitrc and tree full of includes
than to have to track modifications across distro-specific .monitrcs.

Does anyone have any good ideas on this issue or anecdotes on how they
manage this problem?

thanks,
--stephen

-- 
Stephen Dowdy  -  Systems Administrator  -  NCAR/RAL
303.497.2869   -  address@hidden        -  http://www.ral.ucar.edu/~sdowdy/





reply via email to

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