Spong v1.1 - ChangeLog
This file documents the changes that have been made to spong from release to
release, currently I have only updated spong once, but I will be adding new
features and change things around from time to time, and this document will log
those changes. Here is a quick overview of significant changes, scroll below
for a more detailed summary:
- v1.1 - Fixed various bugs, including the problem with defunct processes
left behind by spong-server. Added DNS checks. Added configuration options
(http, and spong-message mostly).
- v1.0 - Initial release, based on BB 1.04.
Thanks to those (even my co-workers) who have contributed either code or just
suggestions. I have tried to put names next to changes where people
contributed patches. I'm not promising that I used the contributed code as is,
but I tried to stay true in most cases to what was asked for. If I left off
someone's name I apologize.
Released 04/15/1997
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:
- 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.
Here is a more detailed summary of changes, organized by file(s).
- all:
- changed the way that the hostname was determined so that it got set to
the FQDN regardless of how you define the hostname on the host. (Russell
Street)
- Converted the hostname to lowercase to ward off problems with names not
matching up correctly. (Carlos Canau).
- spong-server:
- stoped ignoring child processes, this fixes a problem with defunct
processes under Solaris
- changed the accept() loop to make it identical to the one in the latest
camel book - was having odd problems with the way that I had it.
- dumps it's pid to a file in the spong directory, and if you kill -HUP
the process it will now re-exec itself, effectively re-reading the
spong.conf/spong.hosts files. Also added two new command line options:
--restart will cause the running spong-server to reread it's config files (it
really just restarts itself), and --kill will kill the current running
spong-server program. (Russell Street)
- added a configuration option ($SEND_MESSAGE) so that you can decided if
you want to send a message every time there is a red report, or only if there
is a change in state of some service (send a message when it goes red, and send
it again when it goes green).
- stopped filtering out blank lines in messages sent from the clients.
- spong-network:
- added a DNS check. If a system is running a DNS server, the dns server
will be asked to resolve it's own name, and if it can then all is assumed to be
ok, otherwise an error is generated. This check will only take place if you
have the Net::DNS perl module installed (available from CPAN -
http://www.perl.com/CPAN/) (Russell Street - although probably less then he
wanted 8-)
- sleep the standard amount plus some random 10% time period just so
things don't get in some goofy pattern...
- made the http check more configurable, it now allows you to specify what
port to check, and what file(s) to check for - you can now use the http check
to check on proxy servers.
- dumps it's pid to a file in the spong directory, and if you kill -HUP
the process it will now re-exec itself, effectively re-reading the
spong.conf/spong.hosts files. Also added two new command line options:
--restart will cause the running spong-network to reread it's config files (it
really just restarts itself), and --kill will kill the current running
spong-network program. (Russell Street)
- added a new host attribute (ip_addr) in the spong.hosts file that allow
you to specify if a machine has multiple network interfaces (you need to list
each interface's IP address) the app, and then spong-network will attempt to
ping each interface
- stopped doing traceroutes to machines that are down. It took too long,
and can overload your network. I now just show the ping output as the message
when the host is down.
- spong-client:
- sleep the standard amount plus some random 10% time period just so
things don't get in some goofy pattern...
- spong-client: Added single quotes around process check so that you can
check for strings with spaces and other odd characters.
- adjusted the regular expression so that it doesn't leave off the first
part of the mount point (Russell Street)
- Checked against both the filesystem and mounted on directory for
strings to ignore.
- spong-client: dumps it's pid to a file in the spong directory, and if
you kill -HUP the process it will now re-exec itself, effectively re-reading
the spong.conf/spong.hosts files. Also added two new command line options:
--restart will cause the running spong-client to reread it's config files (it
really just restarts itself), and --kill will kill the current running
spong-client program. (Russell Street)
- spong-display:
- changed the "stale" time to 3 times the sleep time, with the new
randomness of the sleep, and given that it can take a while for spong-network
to do its thing, a value of 3 seems better then 2 for now.
- spong-message:
- added "color" as another argument, this was needed when I added the
ability to send a message just based on a change of state.
- added a couple of configuration variables so that you can alter how
often you want messages sent.
- other files:
- README: updated to include licensing information, also moved away from
the readme.pod file to just creating it based on the readme.html file (since
pod2html doesn't make the readme page look good enough in HTML).
- Got rid of Makefile, decided that since you have to have Perl to use
this program, I just wrote a simple build script in Perl - this gets around
problems I had with the Makefile, and different versions of make (thanks though
to those who gave me patches for the Makefile). The new "build" script also
fixes the following couple of problems:
- No chown/chgrp to root - let people install it how they like...
- if you make more then once, the OS specific stuff gets added each time
- adds more instructions to the installation process
- new spong.conf.linux: from (Baba Z Buehler)
- added spong.conf.solaris: from (Baba Z Buehler)
Most recently updated on Apr 3, 1997 by
Ed Hill
(ed-hill@uiowa.edu)