Simple System/Network Monitoring - spong v2.0


Description

This is a simple system monitoring package called spong. It has the following features: This is hopefully a *simple* tool. It does not compete with Tivoli, OpenView, UniCenter, or any other commercial packages, and I have no intention of trying to turn it into one. It is not SNMP based, it communicates via simple TCP based messages. It is written in Perl, so hopefully it can be run on multiple systems (including NT - although it has not been ported yet - but is on the todo list).

 I'm a strong believer in KISS (keep it simple stupid), and hopefully this package is as simple as possible (but no simpler). Spong is broken up into components that each do a specific thing. Listed are some of the (key) components:
 
 

Spong is currently at version 2.6. If you are using an older version and want to see what's new in version 2.6, please look at the bottom on this page.
 
 

Availability

Perl is require to run spong. If you don't have Perl installed you can retrieve it from the CPAN (http://www.perl.com/CPAN/) archive, along with other optional modules such at the Net::DNS module. I would suggest having at least version 5.004 installed (otherwise you will need to download the CGI.pm module as well). You can get the latest version of Perl at:
 
  You can retrieve the latest version of spong from my machine at:
 
  This distribution contain the spong source, documentation, and gif images.

Notification

I have sent up a mailing list that is for spong discussion, help and annoucements. The mailing list open to anyone. I am on the list and I endevour to answer all questions submitted to the list.

 To join the spong mailing list, send a message to spong-request@monsters.org with the sentence:
 

in the body of the message. To have yourself removed from the spong-announce mailing list, send a message to spong-request@monsters.org with the sentence unsubscribe in the body of the message.

 You can also visit the Spong mailing list web page to subscribe or view the mailing list archives.
 

Dependencies

Perl v5.004 or greater is all that is required to set up spong. A web server where you can install a CGI program, and a web browser that can display tables and frames are required for use of the web interface to spong. If you want to monitor DNS servers remotely, then you will need to install the Net::DNS Perl module (available at CPAN). Spong will run fine without this module, you just will not be able to monitor the DNS service.

 These scripts should run on any Unix system (and to ``some'' degree any environment where Perl is available).

Documentation

Don't let the amount of documentation scare you, I still think spong is simple to setup and use.

 The documentation is provided in HTML format (the old Perl pod format just didn't do all that I wanted). It is located in the docs directory and is self contained (the links will still work if you move it), so you should be able to copy it to whatever location that you want.

 There are four main documents that describe spong from different perspectives.

FAQ
Frequently Asked Questions by users and their answers.

 

 
 
 

User's Guide
Geared towards the person who will be using the spong text or web based clients. This is the documentation that will be seen when the user clicks on the Help button provided in www-spong.

 

 
 
 
 
 

Administrator's Guide
Written for the person who will be installing spong, and setting up the various configuration files. This provides a step by step installation process and gives some suggestions on things spong can do that you might not have thought of.

 

 
 
 
 
 

Developer's Guide
Written for the person who wants to have spong look differently, or what to add some new feature in their version of spong, or whats to incorporate spong output in other programs. This details the spong internals, and describes the various protocols that are used.

 

 
 
 
 
 

There are also specific "man" pages for each program and configuration file which provide detailed explanations of each option, command line argument, etc... Finally, if you are in a pinch, the code is readable enough (and well commented) to provide some help as well.

 I hopefully have provided enough documentation that the only email I get are suggestions for new features and bug reports - but if you are stuck, feel free to send me email and I will respond if I can.
 
 

Files

Here is a description of the directories and files that come in this package prior to installation. More specific descriptions of each file are available in the various documentation that comes with spong.
 
 
    config:

      spong.conf              distributed config file

      spong.conf.&ltos>         os specific config changes

      spong.hosts             host/service config file

      spong.groups            group config file

 

    src:

      spong.pl                text based spong display client

      spong-client.pl         collects/reports cpu,disk,etc info

      spong-network.pl        collects/reports network service info

      spong-server.pl         listens for/saves spong status updates

      spong-message.pl        alerts humans there's a problem

      spong-ack.pl            text based acknowledgement program

      www-spong.pl            web based spong display client

      www-spong-ack.pl        web based acknowledgement program

    www:
      docs:

      <*>.html                documentation for the above files 

      gifs:                   various icons used by spong-display



Licensing

Copyright 1999, Stephen Johnson

 Like Perl, spong may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. If either file is not available to you, send email to sjohnson@monsters.org, and I will mail you a copy.

Changes

The list of changes can be found at:
http://monsters.org/pub/spong/CHANGES
You can see a list of features that I hope to add to spong at:

History

Version 2.6 Notification rules enhanced with matching and excluding by host groups. Added delayed and repeat notifications. Module Plugin mechanisms added to spong-client, spong-network, spong-server, and spong-message programs. Programs now automatic background themselves. Event duration added to spong-server database. NTP and SSH checks added to spong-network.
Version 2.5  First releae by Stephen L johnson. Rules based notifications added, a limited Big Brother Server emulation was to allow Big Bother Clients to be used. A new log monitoring routnie which tracks last position read. Enhanced network checks to eliminate momentary network problems.
Version 2.0  A OO redesign of the spong-server and display programs, added acknowledgments and group support, added a text based interface, made www interface more extensible. 
Version 1.1  Primarily a bug fix release with a few minor features (dns,http config,multiple interfaces) added. 
Version 1.0  Initial public release, mostly based on Big Brother package from Sean MacGuire. 

Acknowledgments

Many ideas (and some code) came from two similar packages. We have used a program call "Pong" here at The University of Iowa for about a year. Pong was written by Helen Harrison at SAS Institute and a paper on it was presented at the Usenix LISA conference. Pong would allow us to do simple monitoring of systems (via ping) and would report machine status via a web page. The name of this package (Son of PONG, but pronounced as its spelled "spong") is an obvious rip off...

Originally, the main concepts and design came from Big Brother written by Sean MacGuire. That package was written in C and sh scripts which I ``ported'' to Perl, making many changes along the way (like adding more information to the messages going from the client to the server, adding history, changing the way that information is displayed, added some configuration options, etc.).

There didn't seem to be any interest in my perl code from the author of BB, so I've changed the name so there would be any confusion between this package and its inspiration.

I'd also like to thank the many people who have contributed patches and comments, and where willing to try out spong and help me work out a few of the early problems.

The about acknowledgements are from Ed Hill. I would like to thank Ed hill  for creating Spong and allowing me to take up the development touch. The current Spong user and development community is small but growing.  i would like to thank them for their patient in allowing me to whip the Spong distribution into shape and helping me work out the numerous installation problems.
 
 

Known Problems in v2.6

Here are a list of problems, and possible fixes that have been reported for version 2.8. I will update this section as bugs come in (if there are any 8-). These fixes will all be included in the next release of spong, but if you can't wait - here are some suggestions.
 
 

Author

Ported  by:

Ed Hill (ed-hill@uiowa.edu)
Internet Software Developer at The University of Iowa

Currently maintained by:
Stephen L Johnson (sjohnson@monsters.org)

Please feel free to send me bug reports, patches, suggestions, or comments.


Most recently updated on Dec 15, 1997 by Stephen L Johnson (sjohnson@monsters.org)