moomps

(Modular Object Oriented Multi-Purpose Service)

Contents:

1. About this document

This document contains general and reference information to help the user understand the moomps application and its configuration.

2. Introduction

Moomps is a monitoring daemon which works using configuration files created by the moodss (Modular Object Oriented Dynamic SpreadSheet) graphical application. The configuration files contain the definition of thresholds, which when crossed, create messages in the system log, and eventually trigger the sending of email alert messages.

3. Required software

If you are using a Linux Redhat system (6.0 or above), then use the moomps rpm file (available at http://jfontain.free.fr/) for installation. It requires the tcl rpm (likely to be included in your distribution), moodss and tcllib (available at http://jfontain.free.fr/), along with scotty and tclx rpms (all readily available). You need moodss to be able to generate configuration files (see moodss documentation).

Otherwise, for other UNIX systems, grab the latest moodss tarball (at http://jfontain.free.fr/) which contains the moomps source code along with the ready-to-run moomps self-contained executable file.

For the current version (1.2.1), the following packages must be installed before attempting to install moomps:

* many thanks to the authors for these great packages

The stooop (Simple Tcl Only Object Oriented Programming) library is included in the self contained moomps application file. Therefore, it is not required to install the stooop package, unless you want to work on the moomps source code itself. However, should you want to get more information on those extensions, you will find the latest versions:

at http://jfontain.free.fr/, along with the source code for moodss, also required for development on moomps.

Finally, if you use moodss modules in a language other than Tcl, such as Perl or Python, you will need:

also at http://jfontain.free.fr/.

4. Architecture

Moomps loads configuration files generated by moodss (.moo files created under the File Save menu). Such files contain the name of the moodss module to load and any number of thresholds (defined under moodss using drag and drop or the Thresholds menu). When running, moomps periodically checks the threshold conditions and eventually send email alerts to the addresses defined for those thresholds.

The poll time is kept independent for each configuration file.

When a threshold is crossed, a corresponding message is generated in the system log with the importance level preset in the moodss thresholds interface (also see syslog manual for further information on the processing of importance levels)

The application periodically checks loaded files for their modification time (also see the -p (--poll-files-time) option).
If any loaded file is modified while the application is running, moomps will detect it and reload that particular file, forgetting the previous configuration defined by that file. For example, it is then possible to load a configuration file in moodss, change a few threshold values, the poll time, ... and have it automatically taken into account by moomps once that configuration file is saved in moodss.
Note that only the files loaded at startup time are checked.
For example, if some of moodss arguments are directories, only the configuration files in those directories present at moomps startup time are checked. That means that files deleted or added (for safety reasons) to those directories are ignored during the lifetime of the application.

5. Installation

Trivial if you are on a Redhat system: just install the moomps rpm and you are almost done.
Copy the .moo files (configuration files generated by moodss) that contain the thresholds that you are interested in, into the /etc/moomps/ directory (symbolic links also do the job).
You may directly edit those files in place from moodss using the File Open menu.

You want to (carefully) edit (or create) the /etc/moomps/rc resource file in order to change the From: field of the thresholds alert email messages and the outgoing email SMTP server(s).
For example:

fromAddress yourname@yourhost.yourdomain
smtpServers smtp.domain.com
Use double quotes for addresses with embedded blanks:
fromAddress "John Doe <jdoe@yourhost.yourdomain>"
smtpServers 127.0.0.1
And curly braces for lists:
fromAddress "John Doe <jdoe@yourhost.yourdomain>"
smtpServers {smtp.domain.com smtp2.domain.com}

Testing that that account actually works for sending email is recommended prior to the first moomps launch. You may use the moomps -m command line option for that purpose.

Comment lines are allowed anywhere in the resource file. They must begin with the traditional pound sign character (#).

6. Usage

If you are on a Redhat system and you installed the rpm, start the moomps daemon as any other service. For example:
# service moomps start

Related information, warning and errors messages are traditionally visible in /var/log/messages, but under the scotty name (unfortunately hardcoded in the Scotty log facilities), with [moomps] in the message however.

If you are on another UNIX system, just launch moomps using the command line switches for now.

You can also start moomps from a terminal using the following options:

$ moomps -h
Usage: ./moomps [OPTION]... [DIRECTORY|CONFIGURATIONFILE]...
  -f, --foreground       run in foreground as opposed to daemon mode
  -h, --help             display this help and exit
  -m, --mailto           send an email to specified address at startup
  -p, --poll-files-time  loaded files monitoring poll time in seconds
  -q, --quiet            no status and module messages
  --version              output version information and exit
After the eventual options described above, specify any number of moodss generated configuration files (.moo files) or directories. For a directory, moomps will load all .moo files in that directory as if they were directly passed on the command line.

The -p (--poll-files-time) option defines the length of the periodic checking of loaded files modification times. A zero value cancels any checking, and implies restarting moomps for changes in loaded files to be taken into account.
By default, files are checked every 60 seconds.

The -m (--mailto) option is used with a valid email address (the software will do a basic validity check and eventually report an error). A test message will be sent to that address at startup time, so that the application email capability can be validated.

7. Bugs

Please report them to jfontain@free.fr.