Path: usenet.cise.ufl.edu!huron.eel.ufl.edu!usenet.eel.ufl.edu!news.ultranet.com!news-out.communique.net!communique!newsfeed.direct.ca!Supernews60!supernews.com!news.he.net!news.aracnet.com!news.rain.net!news.teleport.com!not-for-mail
From: [email protected] (Jim Trocki)
Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules
Subject: mon-0.37d - Service Monitoring Daemon
Followup-To: comp.lang.perl.modules
Date: 30 Sep 1997 13:26:22 GMT
Organization: Transmeta Corporation, Santa Clara, CA
Lines: 68
Sender: [email protected]
Approved: [email protected] (comp.lang.perl.announce)
Message-ID: <[email protected]>
NNTP-Posting-Host: gadget.cscaper.com
X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content.
Xref: usenet.cise.ufl.edu comp.lang.perl.announce:30 comp.lang.perl.modules:949

Mon version 0.37d

INTRODUCTION
------------

"mon" is a tool for monitoring the availability of services. Services
may be network-related, environmental conditions, or nearly anything
that can be tested with software.  It is extremely useful for system
administrators, but not limited to use by them. It was designed to
separate the tasks of monitoring a service for availability and sending
out alerts when things fail. To achieve this, "mon" is implemented as a
scheduler which runs the programs which do the testing, and triggering
alert programs when these scripts detect failure.  None of the actual
service testing or reporting is actually handled by "mon". These functions
are handled by auxillary programs.

This model was chosen because it is very extensible, and does not require
changing the code of the scheduler to add new tests and alert types. For
example, an alphanumeric paging alert can be added simply by writing a
new alert script, and referencing the alert script in the configuration
file. Monitoring the temperature in a room can be done by adding a script
that gathers data from a thermistor via a serial port.  Often these
monitoring scripts can just be wrappers for pre-existing software.

The "mon" scheduler also can communicate with network clients, allowing
manipulation of run-time parameters, disabling and enabling of alerts
and tests, listing failure and alert history, and reporting of current
states of all monitors.

AVAILABILITY
------------

The latest version of mon is available at:

http://consult.ml.org/~trockij/mon


REQUIREMENTS
------------

"mon" uses Perl 5.n, where n >= 003.

You'll need the Time::Period module, available from your local
CPAN archive (http://www.perl.com/perl).

"mon" uses the Sys::Syslog module that comes with Perl 5. If you're
running this under Linux, you must patch "Syslog.pm" with one of the
supplied patches written by Sean Robinson ([email protected]).
These patches can be found in the patches/ directory.

You need the "File::Df" module from CPAN for freespace.monitor
to operate.

To use "telnet.monitor", "tcp.monitor", and "fping.monitor" (which all
come with the mon distribution), you need the "fping" and "tcp_scan"
utilities from Wietse Venema and Dan Farmer's Satan package to make
monitoring easier and more efficient. If you're building under Linux,
you'll need the 4.4BSD netinet headers (distributed separately), and a
patch to tcp_scan.c that fixes arguments to select(2).

----------
Jim Trocki
Computer System and Network Engineer
Transmeta Corporation
Santa Clara, CA
[email protected]