+NAME
+ Simple System/Network Monitoring - spong v2.7
-Simple System/Network Monitoring - spong v1.1
+DESCRIPTION
+ This is a simple systems and network monitoring package called
+ Spong. It has the following features:
-Description
-===========
+ * client based monitoring (CPU, disk, processes, logs, etc...)
-This is a simple system monitoring package called spong. It has the
-following features:
+ * monitoring of network services (smtp, http, ping, pop, dns,
+ etc...)
- * client based monitoring (CPU, disk, processes, logs, etc...)
- * monitoring of network services (smtp, http, ping, pop, dns, etc...)
- * grouping of hosts (routers, servers, workstations, PCs)
- * host specific contact information
- * host specific downtime information
- * configurable on a client by client basis
- * results displayed via the web
- * history of problems
- * messaging (via email or pager) when problems occur
- * verbose information to help diagnosis problems
+ * grouping of hosts (routers, servers, workstations, PCs)
-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).
+ * rules based messaging when problems occur
-I'm a strong believer in KISS (keep it simple stupid), and hopefully this
-package is as simple as possible (but no simpler). There are just 5 "pieces",
-1 program that runs on "client" machines, and 4 programs that run on your web
-server (where the results are displayed). There are also only 2 config files,
-one that defines OS and system specific information, and one that defines what
-hosts you want to monitor, and who to contact when there is a problem.
+ * configurable on a host by host basis
+ * results displayed via text or web based interface
-Changes between v1.1 and v1.0
-=============================
+ * history of problems
-This is primarily a bug fix release with a few minor features added.
-Everything done in this release is based on feedback that I got from my
-co-workers and people who decided to take a look at spong after my message to
-the BB list. The most significant changes are:
+ * verbose information to help diagnosis problems
- BUG: Fixed problem with defunct processes under Solaris.
- FEATURE: Made the http check more configurable.
- FEATURE: Added a DNS check (if you have the Net::DNS library installed)
- FEATURE: Added the ability to check multiple interfaces on a host.
- CHANGE: Got rid of the Makefile, now build/installation is done via a
- simple perl build script.
+ * easily expandable via a plug-in module facility
-You can get a more detailed summary of changes at:
+ 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 to-do list).
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/changes.html
+ 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:
-You can also see a list of features that I hope to add to spong at:
+ * spong
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/todo.html
+ Text based query program, reports information about hosts
+ that are monitored.
+ * www-spong
-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 at:
-
- http://www.perl.com/CPAN/src/latest.tar.gz
-
-You can retrieve the latest version of spong from my machine at:
-
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/spong.tar.gz
-
-You can see some screen shots of spong in action (note these are just examples
-of HTML that is produced - not the actual programming running - most people
-don't want this level of system information public to the world (if they can
-help it).
-
- Main Spong Page
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/example/main.html
- Spong showing only Unix machines by group
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/example/unix.html
- History of problems
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/example/history.html
- Host summary page
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/example/host.html
- Service specific summary page
- http://strobe.weeg.uiowa.edu/~edhill/public/spong/example/service.html
-
-This distribution contain the spong source, documentation, and gif images.
-
-
-Notification
-============
-
-I have sent up a mailing list that I will post to when I have released a new
-version of spong. Anyone can join this list, but the traffic will be only one
-way (me posting information about new-releases). If enough people are
-interested in creating a list for discussion spong in general, I will set one
-up at that time.
-
-To join the spong-announce mailing list, send a message to
-majordomo@strobe.weeg.uiowa.edu with the sentence:
-
- subscribe spong-announce
-
-in the body of the message. To have yourself removed from the spong-announce
-mailing list, send a message to majordomo@strobe.weeg.uiowa.edu with the
-sentence unsubscribe spong-announce in the body of the message.
+ Web based query program, reports information about host that
+ are monitored.
-The traffic on the list will be very light - about 1 message per month.
+ * spong-client
+ Program that runs on each monitored server. Reports host
+ based information (disk, cpu, logs, etc.)
-Dependencies
-============
+ * spong-network
-Perl v5.003 or greater, a web server that will allow you to run CGI programs,
-and a web browser that can display tables are required.
+ Reports on network based services (smtp, ping, http, etc.)
-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.
+ * spong-server
-These scripts should run on any Unix or NT system (and to ``some'' degree any
-environment where Perl is available).
+ Collects information reported and responds to queries about
+ that information.
+ * spong-message
-Installation
-============
+ Called by the spong-server program to send out notifications
+ when problems occur.
-To build and install the spong server do the following on the machine running
-your web server.
-
- 1. Edit the "build" script, and set the variables at the top of that script
- according to where you want spong installed, and where certain programs
- that spong relies on are located.
-
- 2. Check to make sure there is a config/spong.conf.<os> file corresponding
- to your operating system, if not - create one. This file contains paths
- and command line arguments to helper programs that are used to determine
- things like disk usage, etc... If you have to create your own
- spong.conf.<os> file, then please email it to me so that I can add it to
- the distribution.
-
- 3. Make sure you are in the directory that you unpacked spong in and type:
- ./build <os> where <os> is the name corresponding to your
- operating system. You can type ./build help to generate a list of
- valid operating system strings.
-
- When the build completes, you will be left with some new directories in
- the folder that you unpacked spong in. The build process takes the
- spong source (and documentation), and replaces some "tokens" with values
- that you have supplied at the top of the build script. The build
- process also creates a spong.conf file, and generates various types of
- documentation based on the POD files that come with spong.
-
- 4. Now, type ./build install. Note that the install process
- makes no assumptions about what user you want to run spong as (you don't
- have to run it as root). This means that you have to be a little more
- careful when you install spong (making sure it has the correct
- permissions, and that you have permission to copy the www pages into
- your web server's document tree).
-
- 5. Now edit the spong.conf, and spong.hosts files that you just installed
- and season to taste. You should now be able to read the manual pages
- for each.
-
-Now you will have the executables and configuration files in place on the
-server. You need to start the spong-server and spong-network programs. The
-spong-server program will listen for reports from various agents, and the
-spong-network program will start testing the hosts you have defined for any
-problems. After starting those programs, you should start seeing files show up
-in the SPONGSTATUS directory that you defined in the spong.conf file.
-
-For each client machine you will need to install the just the spong-client and
-a spong.conf file and make sure they start up when your system is rebooted.
+Availability
+ Spong's Home Page is at http://spong.sourceforge.net/.
+
+ Perl is require to run spong. If you don't have Perl installed
+ you can retrieve it from the CPAN archive
+ http://www.cpan.org/CPAN/, 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 http://www.perl.com/CPAN/src/latest.tar.gz
+
+ You can retrieve the latest version of Spong from the Spong
+ project at Source Forge. The 'Downloads' web is at
+ http://spong.sourceforge.net/downloads.html. This distribution
+ contain the spong source, documentation, and gif images.
+
+SUPPORT
+ There are two mailings setup for Spong: spong-users and spong-
+ announce.
+
+ spong-users is for general discussions or getting help for
+ Spong. You can subscribe by sending a message to spong-users-
+ request@lists.sourceforge.net with the work subscribe in the
+ message. Or be visiting the mailing lists home page at
+ http://lists.sourceforge.net/mailman/listinfo/spong-users.
+
+ spong-announce is a low-volume mailing which will be used for
+ announcements and news concerning Spong. It is moderated, but
+ feel free to submit any pertinent items. You can subscribe by
+ sending a message to spong-announce-
+ request@lists.sourceforge.net with the work subscribe in the
+ message. Or be visiting the mailing lists home page at
+ http://lists.sourceforge.net/mailman/listinfo/spong-announce.
+
+DEPENDENCES
+ 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 perl POD format (the old Perl
+ pod format just didn't do all that I wanted). The installation
+ process will create HTML, text and man formatted versions of the
+ documentation. The HTML documentation can be located anywhere.
+ It's cross-links should survive a move intact.
+
+ There are four main documents that describe spong from different
+ perspectives.
+
+ * FAQ
+
+ Frequently Asked Questions by users and their answers.
+
+ * User-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 wants 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:
-Documentation
-=============
+ spong.conf distributed config file
-The documentation is in pod format, which you can convert to html or manual
-pages using the various pod2xxx tools that come with Perl. The documentation
-is brief but hopefully enough to help you get things installed, and provide
-enough information for you to modify it as you see fit. If you are in a pinch,
-the code is readable enough (and well commented) to provide some help as well.
+ spong.conf.<os> os specific config changes
-There is a README file that describes the overall system (this file), and there
-are pod files available for each program, and the 2 configuration files that
-come with spong.
+ spong.hosts host/service config file
-On installation, the pod files are used to generate both HTML documentation,
-and man pages.
+ spong.groups group config file
+ src:
-Files
-=====
+ spong.pl text based spong display client
-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.
+ spong-client.pl collects/reports cpu,disk,etc info
+ spong-network.pl collects/reports network service info
- config:
- spong.conf distributed config file
- spong.conf.<os> os specific config changes
- spong.hosts host/service config file
-
- src:
- 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-display.pl displays spong status via CGI program
- spong-message.pl alerts humans there's a problem
- <*>.pod documentation for the above files
-
- www:
- gifs: various icons used by spong-display
- docs: location of html versions of man pages
- history: history files kept here
- hosts: host specific html files
- screens: html "screens" used to create the GUI
- status: location of status information
- tmp: temporary storage directory
+ 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
-Licensing
-=========
+ www-spong.pl web based spong display client
-Copyright 1997, Ed Hill - The University of Iowa
+ www-spong-ack.pl web based acknowledgement program
-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 ed-hill@uiowa.edu, and I will mail you a
-copy.
+ docs:
+ <*>.html documentation for the above files
-History
-=======
+ gifs: various icons used by www-spong
-Version 1.1 Primarily a bug fix release with a few minor features (dns,http
- config,multiple interfaces) added.
+LICENSING
+ Copyright 1999,200, Stephen L Johnson
-Version 1.0 Initial public release, mostly based on Big Brother package
- from Sean MacGuire.
+ 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 for the latest version of Spong can be found
+ at http://spong.sourceforge.net/documentation/CHANGES.
+
+ 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 release 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 routine 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.
-Acknowledgments
-===============
+ Version 1.0
+ Initial public release, mostly based on Big Brother package
+ from Sean MacGuire.
-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...
+ACKNOWLEDGMENTS
+ By Ed Hill
-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.).
+ 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...
-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.
+ 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.).
-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.
+ 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.
-Author
-======
+ by Stephen L Johnson
-Ported and currently maintained by:
+ I first found Big Brother and liked what it did. But I was put
+ as a bit by it being written in C and shell scripts. While
+ perusing the Big Brother mailing lists archives I ran across
+ references to Spong, and it being written in Perl. This was
+ Spong 1.1
- Ed Hill (ed-hill@uiowa.edu)
- http://strobe.weeg.uiowa.edu/~edhill/
- Unix Systems Administrator at The University of Iowa
+ I tried it out but there were some stability problems. So I
+ reluctantly dropped Spong in favor of Big Brother. I didn't like
+ some of the limitations of Big Brother, so I started hacking on
+ the source code. To me it was akin to writing in assembler and
+ getting a tooth pulled. I don't like either one.
+
+ Fortunately I found a link to Ed Hill's installation of Spong
+ 2.1 at the University of Iowa. I feel in love with Spong all
+ over again. I asked Ed Hill if I could have Spong 2.1. He sent
+ me the distribution and I started evaluating it again.
+
+ Spong 2.1 was a big improvement over Spong 1.1 in terms of
+ stability and features. I rolled the changes that I made to Big
+ Brother into Spong 2.1 and I have been changing things ever
+ since.
+
+ Ed Hill had stopped development of Spong and I was spending so
+ much time on Spong. I asked Ed if I could take over development
+ of Spong. He gave his blessing and the torch was passed in
+ October of 1999.
+
+ 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. There are still a
+ lot of rough edges to need to be smoothed. 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.
+
+BUGS
+ 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.
+
+ Memory leak in spong-network on RedHat 6.0
+ spong-network has a memory leak when running on a Linux
+ system and gligc 2.1.1. The program memory core size grows
+ after each check cycle. The fix is to upgrade the glibc from
+ version 2.1.1 to version 2.1.2.
+
+AUTHOR
+ Ported by:
+
+ Ed Hill <ed-hill@uiowa.edu> Internet Software Developer at The
+ University of Iowa http://www.uiowa.edu/
+
+ Currently maintained by:
+
+ Stephen L Johnson <sjohnson@monsters.org>
+
+ Please feel free to send me bug reports, patches, suggestions,
+ or comments.
-Please feel free to send me bug reports, patches, suggestions, or comments.