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: trockij@transmeta.com (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: news-merlyn@gadget.cscaper.com Approved: merlyn@stonehenge.com (comp.lang.perl.announce) Message-ID: <60qulu$oad$1@news1.teleport.com> 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 (robinson_s@sc.maricopa.edu). 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 trockij@transmeta.com .