NAME
spong-server - save status information reported by spong programs
SYNOPSIS
spong-server [--debug] [--kill|--restart] [config_file]
DESCRIPTION
The spong-server program starts up and listens to status reports from various
spong clients (specifically the spong-network and various spong-client
programs running). It takes the information reported by the various spong
clients and does the following:
* Check for valid messages, and discards any invalid ones.
* If the message is something worth notifying someone about, it calls
the spong-message program and lets it determine how/if to contact
someone about the problem.
* Check to see if the color of this message is different then it
used to be, and if so generate a history item indicating the change.
* Save the information in the $SPONGDB directory.
* Answers database queries from Spong Interface Clients
You should start this program in your system startup file, and it should
be running constantly. If you provide the --debug flag, then debugging
information will be printed to stdout, otherwise output will only be produced
if there is a problem.
If you provide the --restart flag, a signal will be sent to the spong-server
process that is currently running that will cause it to reload it's configuration
files. If you provide the --kill flag, a signal will be sent to the running
spong-server process causing it to exit.
CONFIGURATION
The configuration of the spong-server program is two fold, the first part
is the /usr/local/etc/spong/spong.hosts
file. This file lists the host that are being monitored by the spong-network
and spong-client programs. Only status information on hosts in the spong.hosts
file are considered valid and saved.
The second part of the configuration is the /usr/local/etc/spong/spong.conf
file which define some specific variables that you probably don't need
to override. By default the spong.conf file is read on startup. You can
specify an alternate config file via a command line option and it will
read that file instead. If you change values in the configuration file
you will need to restart this program for those changes to be re-read.
After reading the configuration file that you specify (or the default),
it then reads the /usr/local/etc/spong/spong.conf.[host] file where
[host] is the hostname of the machine that you are running on. Since these
configuration files are just standard perl code that gets imported, the
variables that you define in the host specific config file will take precedence
over the standard configuration settings.
Here are a list of variables in the spong.conf file that are applicable
to the spong-server program:
-
$SEND_MESSAGE
-
$SEND_MESSAGE
defines when spong-message is called by spong-server. This variable can
contain one of three valid values. If it is ``RED'', then spong-message
is called for every time a system or service reports a problem. If its
value is ``CHANGE'', then spong-message is only called when there is a
change of state (going from green to red, and then again going from red
to
green). If its value is ``NONE'', then spong-message is never called.
-
$SPONG_UPDATE_PORT
-
The port number that the server should be listening at for receiving update messages
- $SPONG_QUERY_PORT
-
The port number that the server should be listening at for answering database queries from the various spong interface clients.
- $SPONG_BB_UPDATE_PORT
- The port that the server should be listeningat for receiving Big Brother status update messages. This is the Big Brother server emulation feature.
- $SPONG_SPONG_ALARM
- The is the amount of time (in seconds) a connection from a Spong Client to spong-server is allowed. After the timeout period
elaspes the connection is closed.
DATA MODULES
spong-server has a plugin and registry mechanism what provides a
hook for access incoming status updates. Any data plugin modules placed
into the SPONGHOME/lib/Spong/plugins directory will be loaded upon
spong-server initialization. As each module it registers itself
with the plugin registry (see the Developer
Guide). There are no standard Server Data Modules. There are some sample
modules in the contrib/plugins/spong-server directory of the Spong
distribution. For more information in developing a Server Data Modules
see the spong-server
module template documenation.
FILES
-
/usr/local/etc/spong/spong.conf
-
Configuration file. This contains variables that detail spong and OS specific
definitions used by spong-server. See spong.conf for additional
documentation.
-
/usr/local/etc/spong/spong.hosts
-
Host and human configuration file. This defines what hosts you are monitoring,
and what human you should contact if there is a problem. See spong.hosts
for additional documentation.
-
/local/www/docs/spong/status/
-
The directory where status information is saved. The files in this directory
should be readable by your web server as spong-display using this information
to generate the web pages that it displays.
-
/local/www/docs/spong/history/
-
The directory where history information is stored. The files in this directory
should also be readable by your web server.
-
/local/www/docs/spong/notes/
-
The directory where host specific information is stored. For each host
that you monitor, if there is a file in this directory with the same name
as that host then that file will be displayed by spong-display when the
user clicks on a specific host.
DEPENDENCIES
Perl v5.003 or greater is required.
BUGS
It is not sufficiently paranoid. It should probably perform more strict
authentication to protect against bogus data.
SEE ALSO
the spong-network manpage , the spong-client manpage , the spong-message manpage ,
spong.hosts, spong.conf
AUTHORS
Stephen L Johnson (stephen.johnson@mail.state.ar.us)
or (sjohnson@monsters.org),
Unix System Administator, DIS - State of Arkansas
Ed Hill (ed-hill@uiowa.edu), Unix
System Administrator, The University of Iowa
Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong).