]> git.etc.gen.nz Git - spong.git/commitdiff
add missing doc files from 2.7.7 release
authorJan Willamowius <jan@willamowius.de>
Fri, 30 Sep 2005 07:47:25 +0000 (07:47 +0000)
committerJan Willamowius <jan@willamowius.de>
Fri, 30 Sep 2005 07:47:25 +0000 (07:47 +0000)
30 files changed:
www/docs/admin-guide.html [new file with mode: 0755]
www/docs/check_interfaces.html [new file with mode: 0644]
www/docs/check_snmp.html [new file with mode: 0644]
www/docs/data_sendmsg.html [new file with mode: 0644]
www/docs/developer-guide.html [new file with mode: 0755]
www/docs/pre_redirect.html [new file with mode: 0644]
www/docs/spong-ack.html [new file with mode: 0644]
www/docs/spong-cleanup.html [new file with mode: 0644]
www/docs/spong-client-mod-template.html [new file with mode: 0755]
www/docs/spong-client.html [new file with mode: 0755]
www/docs/spong-intro.html [new file with mode: 0644]
www/docs/spong-message-mod-template.html [new file with mode: 0755]
www/docs/spong-message.html [new file with mode: 0755]
www/docs/spong-network-mod-template.html [new file with mode: 0755]
www/docs/spong-network.html [new file with mode: 0755]
www/docs/spong-server-mod-template.html [new file with mode: 0755]
www/docs/spong-server.html [new file with mode: 0755]
www/docs/spong-status.html [new file with mode: 0644]
www/docs/spong.conf.html [new file with mode: 0644]
www/docs/spong.groups.html [new file with mode: 0644]
www/docs/spong.hosts.html [new file with mode: 0644]
www/docs/spong.html [new file with mode: 0755]
www/docs/spong.message.html [new file with mode: 0644]
www/docs/spongfaq.html [new file with mode: 0644]
www/docs/spongindex.html [new file with mode: 0644]
www/docs/spongtoc.html [new file with mode: 0644]
www/docs/todo.html [new file with mode: 0755]
www/docs/user-guide.html [new file with mode: 0755]
www/docs/www-spong-ack.html [new file with mode: 0644]
www/docs/www-spong.html [new file with mode: 0755]

diff --git a/www/docs/admin-guide.html b/www/docs/admin-guide.html
new file mode 100755 (executable)
index 0000000..19a37b0
--- /dev/null
@@ -0,0 +1,524 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>admin-guide</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="check_interfaces.html">Next:<br>check_interfaces</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spongtoc.html">Previous:<br>spongtoc</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">admin-guide</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#INSTALLATION">INSTALLATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Installation_Server">Installation - Server</a>
+<li><a class="POD_NAVLINK" href="#Installation_Client">Installation - Client</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configure_Web_Server">Configure Web Server</a>
+<li><a class="POD_NAVLINK" href="#TCP_Wrappers">TCP Wrappers</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#DEBUGGING">DEBUGGING</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#spong_server"><b>spong-server</b></a>
+<li><a class="POD_NAVLINK" href="#spong_client"><b>spong-client</b></a>
+<li><a class="POD_NAVLINK" href="#spong_network"><b>spong-network</b></a>
+<li><a class="POD_NAVLINK" href="#spong_message"><b>spong-message</b></a>
+</ul>
+<li><a class="POD_NAVLINK" href="#WWW_SPONG">WWW-SPONG</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Customizing_Web_Page">Customizing Web Pages</a>
+<li><a class="POD_NAVLINK" href="#Expanded_Host_Status">Expanded Host Status Pages (Information Files)</a>
+<li><a class="POD_NAVLINK" href="#Custom_Contacts">Custom Contacts</a>
+<li><a class="POD_NAVLINK" href="#Customized_Action_Ba">Customized Action Bars / Tool Bars</a>
+<li><a class="POD_NAVLINK" href="#Auto_Refresh">Auto-Refresh</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#SPONG_NETWORK">SPONG-NETWORK</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Service_Checks">Service Checks</a>
+<li><a class="POD_NAVLINK" href="#Service_Check_Flags">Service Check Flags</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+admin-guide - Spong Administrator's Guide
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This document is for Spong Administrator. It details how to install and 
+configure the Spong Server and Spong Client programs.
+</p>
+<h2 class="POD_HEAD1"><a name="INSTALLATION">INSTALLATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Installation_Server">Installation - Server</a></h3>
+<p class="POD_TEXT">
+To build and install the spong server do the following on the machine 
+that is to be the Spong Server. It is suggest that your have web server 
+running on the same machine for the spong web display program. It is not
+required, but it will simplify the installation.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+Edit the &quot;build&quot; 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.
+</p>
+<p></p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+Check to make sure there is a config/spong.conf.&lt;os&gt; 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.&lt;os&gt;
+file, then please email it to me so that I can add it to the distribution.
+</p>
+<p></p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+Make sure you are in the directory that you unpacked spong in and type: 
+<code>./build</code> <code>os</code> where &lt;os&gt; is the name corresponding to your
+operating system. You can type <code>./build help</code> to generate a list of
+valid operating system strings.
+</p>
+<p class="POD_TEXT">
+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 &quot;tokens&quot; 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.
+</p>
+<p></p>
+<li class="POD_ITEM"><a name="_3"></a>
+<p class="POD_TEXT">
+Now, type <code>./build install</code>. Note that the install process makes
+no assumptions about what user you want to run spong as (you <b>don't</b>
+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).
+</p>
+<p></p>
+<li class="POD_ITEM"><a name="_4"></a>
+<p class="POD_TEXT">
+Now edit the spong.conf, spong.hosts, spong.group and spong.messages files
+that you just installed and season to taste. You should now be able to
+read the manual pages for each.
+</p>
+<p></p>
+</ul>
+<p class="POD_TEXT">
+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 <i>$SPONGDB</i> directory that you defined in the spong.conf
+file.
+</p>
+<p class="POD_TEXT">
+<b>NOTE - HOSTNAMES:</b> Part of spong-server's status message authentication has
+to do with host names. <b>spong-server</b> checks the host name in a status message
+against the hosts defined in the spong.hosts file. The the status message host
+name is not found, spong-server will silently drop the messages.
+</p>
+<p class="POD_TEXT">
+So it is important that your serves are able to resolve their fully qualified
+domain name. To do this check there is a little Perl test program
+<b>gethost-test</b> from in the <code>/utils</code> directory of the Spong distribution. Just
+run it from a command line by entering <code>perl gethost-test.</code> It tests to see is
+the host can resolve it's fully qualified domain name.  If it can't then it
+will advise you on ways to fix the problem. See also Question 2 in the <u>Spong FAQ</u>.
+</p>
+<h3 class="POD_HEAD2"><a name="Installation_Client">Installation - Client</a></h3>
+<p class="POD_TEXT">
+For each client machine you will need to install the the package just like a 
+the server installation described above. After the <code>./build install</code> step
+is done, you can remove a number of directories that are not needed by 
+spong-client. (Assuming a standard installation directory).
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="www_">www/</a>
+<dt><a name="cgi_bin_">cgi-bin/</a>
+<dd></dl>
+
+The only configuration file that you have to edit is the <code>etc/spong.conf</code> (and
+<code>etc/spong.conf.&gt;host&gt;</code> files(s).
+<p class="POD_TEXT">
+If you have a number of like clients with the same OS your can copy
+the entire installation directory tree from an installed client to other
+clients. You can use tar+ftp, rcp, rdist or whatever mechanism you would
+normally use. Just be sure the Spong installation directory into the same
+location as the original client.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configure_Web_Server">Configure Web Server</a></h3>
+<p class="POD_TEXT">
+To use the Spong Web Display your need to configure you web server in
+conjunction with some configuration variable in the spong.conf configuration
+file.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_conf">spong.conf</a>
+<dd><p class="POD_RAW"></p>
+<p></p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_WWWSPONG">$WWWSPONG</a>
+<dd>
+This is the URI path to the location of the <b>www-spong</b> CGI program in the web
+server's document tree. For example, if the URL of www-spong is going to be
+<code>http://www.example.org/spong/cgi-bin/www-spong</code>, you need to set <i>$WWWSPONG</i>
+to '/spong/cgi-bin/www-spong'. See also the section on <a class="POD_LINK" href="#Spong_CGI_Directory">Spong CGI Directory</a> elsewhere in this document.
+<dt class="POD_ITEM"><a name="_WWWACK">$WWWACK</a>
+<dd>
+This is the URI path to the location of the <b>www-spong-ack</b> CGI program in the
+web server's document tree. For example, if the URL of www-spong is going to be
+<code>http://www.example.org/spong/cgi-bin/www-spong-ack</code>, you need to set
+<i>$WWWSPONG</i> to '/spong/cgi-bin/www-spong-ack'. See also<br>&nbsp;the section on <a class="POD_LINK" href="#Spong_CGI_Directory">Spong CGI Directory</a> elsewhere in this document.
+<dt class="POD_ITEM"><a name="_WWWGIF">$WWWGIF</a>
+<dd>
+This is the URI path to the location of the SPONG/www/gifs/ directory in the
+web server's document tree. If the location of the images directory is
+<code>http://www.example.org/spong/gifs/</code>, then $WWWGIF is set to '/spong/gifs'.
+See also the section on <a class="POD_LINK" href="#Spong_HTML_Directory">Spong HTML Directory</a> elsewhere in this document.
+<dt class="POD_ITEM"><a name="_WWWHTML">$WWWHTML</a>
+<dd>
+This variable is used as a part of the Spong online help/information system.
+The variable is different from the other <b>$WWW</b> spong config variables. This
+variable is set to the actual file location of the <code>SPONG/www/html</code> directory
+on the file system. The Web Display programs reads the requested files, does
+some token replacement, and send the files to the web server.
+<dt class="POD_ITEM"><a name="_WWDOCS">$WWDOCS</a>
+<dd>
+This variable is used as a part of the Spong online help/information system.
+The variable is different from the other <b>$WWW</b> spong config variables. This
+variable is set to the actual file location of the <code>SPONG/www/docs</code> directory
+on the file system. The Web Display programs reads the requested files, does
+some token replacement, and send the files to the web server.
+</dl>
+<p class="POD_RAW"></p>
+<p></p>
+<dt class="POD_ITEM"><a name="Web_Server_Configura">Web Server Configuration</a>
+<dd><p class="POD_RAW"></p>
+<p></p>
+<p class="POD_TEXT">
+On the web server side of thing your will have to configure two items: the
+<code>SPONG/www</code> directory and the <code>SPONG/cgi-bin/</code> CGI directory
+</p>
+<p></p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Spong_CGI_Directory">Spong CGI Directory</a>
+<dd>
+The <code>SPONG/cgi-bin/</code> directory must be setup as a CGI directory and alias-ed
+into the desired location. For example, for Apache a sample configuration
+line would be:
+<pre class="POD_VERBATIM">
+  ScriptAlias /spong/cgi-bin/ /usr/local/spong/cgi-bin/
+</pre>
+<dt class="POD_ITEM"><a name="Spong_HTML_Directory">Spong HTML Directory</a>
+<dd>
+The <code>SPONG/www/</code> directory must be alias-ed into the desired location within
+the web server document tree. If you want the <code>SPONG/www</code> directory 
+to be under http://www.example.org/spong/ on an Apache web server, use this
+configuration line:
+<pre class="POD_VERBATIM">
+  Alias /spong/ /usr/local/spong/www/
+</pre>
+</dl>
+</dl>
+<h3 class="POD_HEAD2"><a name="TCP_Wrappers">TCP Wrappers</a></h3>
+<p class="POD_TEXT">
+The <b>spong-server</b> can use the TCP Wrappers library to validate incoming
+connection. The use of TCP Wrappers is optional. It is not required.
+</p>
+<p class="POD_TEXT">
+To use the TCP Wrappers library, the <code>Authen::Libwrap</code> Perl module must be
+installed on the Spong Server host. The <code>Authen::Libwrap</code> module can be found
+in the Comprehensive Perl Archive Network (http://www.cpan.org/).
+</p>
+<p class="POD_TEXT">
+The service names for the <code>hosts_allow</code> and <code>hosts_deny</code> files are as follows
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_update">spong-update</a>
+<dd>
+The service that Spong Client programs use to send status update messages.
+<dt class="POD_ITEM"><a name="spong_bb_update">spong-bb-update</a>
+<dd>
+The Big Brother (http://bb4.com) Server Emulation. BB Clients use this service
+for sending status update messages.
+<dt class="POD_ITEM"><a name="spong_query">spong-query</a>
+<dd>
+Service that Spong Display clients use for Spong Database queries
+<p></p>
+</dl>
+<h2 class="POD_HEAD1"><a name="DEBUGGING">DEBUGGING</a></h2>
+<p class="POD_TEXT">
+The general way to debug Spong programs is to use the <b>--debug #</b> parameter.
+The <b>#</b> is a number from 1 to 9 that controls the amount of debugging that is
+printed. The higher the number the more detail that is output.  This force the
+program to run in the fore-ground, (if it daemonizes itself) and the program
+will print out a lot of debugging statements. Also each program updates it's
+command line buffer with the current status which can be viewed in the <code>ps</code>
+command.
+</p>
+<p class="POD_TEXT">
+If <i>$SPONG_LOG_FILE</i> or <i>$SPONG_LOG_SYSLOG</i> are set in the <code>spong.conf</code> file
+the programs will log errors to a log file and/or syslog , respectively. The
+file  are named <code>program-name.log</code> in the <i>$SPONGTMP</i> directory and the
+entries are logged to syslog under the USER facility with a priority of ERR.
+</p>
+<h3 class="POD_HEAD2"><a name="spong_server"><b>spong-server</b></a></h3>
+<p class="POD_TEXT">
+When spong-server is run with <b>--debug #</b> the primary process will run in the
+fore-ground and all of the child processes with write their debugging
+statements to the screen. The <i>query</i> processing will print out all of the
+database queries with the type of data requested and in what format. The
+<i>spong update</i> and <i>Big Brother update</i> process will print out
+host/service/color of every status message that is received.
+</p>
+<p class="POD_TEXT">
+The update processes will print out their actions concerning notifications. If
+a notification is indicated, <b>spong-server</b> will call <b>spong-message</b> with
+the <b>--debug</b> parameter if <b>--debug</b> level is at least 3.
+</p>
+<h3 class="POD_HEAD2"><a name="spong_client"><b>spong-client</b></a></h3>
+<p class="POD_TEXT">
+<b>spong-client</b> will print out the check that is being performed along with
+the status and the summary message.
+</p>
+<h3 class="POD_HEAD2"><a name="spong_network"><b>spong-network</b></a></h3>
+<p class="POD_TEXT">
+<b>spong-network</b> will print out the current host that is being checking and the
+name of the check as it performs them, along with the status and the summary
+message.
+</p>
+<h3 class="POD_HEAD2"><a name="spong_message"><b>spong-message</b></a></h3>
+<pre class="POD_TEXT">
+spong-message can be tested outside of spong-server to test your notification
+configurations. Your run spong-message with the following parameters:
+
+    spong-message --debug color host service time &quot;Summary message&quot;
+</pre>
+<p class="POD_TEXT">
+where:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="time">time</a>
+<dd>
+a number which is the date/time in epoch format (i.e.
+the number of seconds since 00:00 01/01/1970). Just pick a big number.
+</dl>
+<p class="POD_TEXT">
+<b>spong-message</b> will print out the current rule number (starting with 0).
+The the success or failure of all of the checks of the matching
+attributes.
+</p>
+<p class="POD_TEXT">
+After the rules matching phase, spong-message will then print out all of the
+people being notified and how they are being notified. <b>spong-message</b> can
+potentially print out a large quantity of debugging. You may want to redirect
+the output to a file while you are testing it.
+</p>
+<h2 class="POD_HEAD1"><a name="WWW_SPONG">WWW-SPONG</a></h2>
+<h3 class="POD_HEAD2"><a name="Customizing_Web_Page">Customizing Web Pages</a></h3>
+<p class="POD_TEXT">
+Spong has a feature that allows users to customize some aspects of the Spong
+web pages. If a header and/or footer template file exist, the contents of the
+field will be display as a header or footer of every web page generated. The
+header or footer files should be placed in the <code>/html</code> directory where the
+Spong www/ directory was installed (the <i>$IWWW</i> variable from the <b>build</b>
+program) and named &quot;header.html&quot; or &quot;footer.html&quot;, respectively.
+</p>
+<p class="POD_TEXT">
+Place the HTML code that you want display into the template files.
+You can also specify other HTML files to be included when the file is
+display. Insert the string &quot;<b>!!WWWSHOW!!</b>/filename&quot; into
+the place that your desire the file named &quot;filename&quot; to be display. The
+file to be include should placed into the same directory are the &quot;header.html&quot;
+or &quot;footer.html&quot; file resides.
+</p>
+<p class="POD_TEXT">
+<b>Note:</b> This customization feature is limited in the current release.
+More substitution variables (i.e. hostname, service, status, etc)
+will be added into future. As will the ability to select which type of
+pages the headers or footer will be placed (i.e. service status screen,
+server display screen, history screen, problem screen, etc.)
+</p>
+<h3 class="POD_HEAD2"><a name="Expanded_Host_Status">Expanded Host Status Pages (Information Files)</a></h3>
+<p class="POD_TEXT">
+This feature is one of Spong's best kept secrets. You can create additional
+information files that will be displayed on all status displays for a
+particular host. To use this feature, you first have to create an info
+directory in a host's database directory (i.e.
+<a class="POD_LINK" href="spong.conf.html#_SPONGDB">$SPONGDB</a>/hostname/info/).  Then you place the
+documentation files that will displayed into that directory.  the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage
+looks for the the following files:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGDB_hostname_in"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.txt</a>
+<dt><a name="_SPONGDB_hostname_in1"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.html</a>
+<dt><a name="_SPONGDB_hostname_in2"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.brief.txt</a>
+<dt><a name="_SPONGDB_hostname_in3"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.standard.txt</a>
+<dt><a name="_SPONGDB_hostname_in4"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.full.txt</a>
+<dt><a name="_SPONGDB_hostname_in5"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.brief.html</a>
+<dt><a name="_SPONGDB_hostname_in6"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.standard.html</a>
+<dt><a name="_SPONGDB_hostname_in7"><i>$SPONGDB</i>/&lt;hostname&gt;/info/info.full.html</a>
+<dd></dl>
+
+where &lt;hostname&gt; is the name of a host as defined in spong.hosts. See
+the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage for most information.
+<p class="POD_TEXT">
+<b>spong-server</b> first looks for a info.brief, info.standard or info.full file
+depending on the type of display (brief, standard or full; and html or txt). If
+the program finds one it will display that file. Otherwise, <b>spong-server</b>
+will look for a <code>info.txt</code> or <code>info.html</code> file and then display that file as
+a default.
+</p>
+<p class="POD_TEXT">
+The .txt files are used with text mode displays like those generated by the
+<b>spong</b> display command (see the <a class="POD_LINK" href="spong.html">spong</a> manpage). The .html files are used by the html
+mode displays. The .html files can contain html code, URLs, embedded graphics,
+Javascript, or anything that you display on a web page.
+</p>
+<h3 class="POD_HEAD2"><a name="Custom_Contacts">Custom Contacts</a></h3>
+<p class="POD_TEXT">
+The web pages generated by Spong have &quot;smart&quot; &quot;Contact Staff&quot; links. That is,
+the web page knows which host your are looking at when on your are looking at a
+detailed status page. The spong-server generated a customize &quot;Contact Staff&quot;
+link on a page's action bar that has the hostname and a message which contains
+all of the current problems that system currently has.
+</p>
+<p class="POD_TEXT">
+The &quot;Contact Staff&quot; link URL consists of two parts. The first part is the
+<i>$WWWCONTACT</i> from the <code>spong.conf</code> configuration file (see
+the section on <a class="POD_LINK" href="spong.conf.html#_WWWCONTACT">$WWWCONTACT</a> in the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage). It contains the URL to your contact
+staff CGI program that you must supply (see below).  The second part of the are
+the host name and the problem message passed as two form variables: <i>host</i>
+and <i>message</i> respectively.
+</p>
+<p class="POD_TEXT">
+The <i>$WWWCONTACT</i> CGI program needs to handle two form variables (<i>host</i> and
+<i>message</i>) and a couple of fields on a form for the user to fill out. A TEXT
+field should be used to the <i>host</i> variable with a size of 50 characters of so
+to handle big host names. The <i>message</i> field should be placed in a TEXT AREA
+field. The size of the TEXT AREA field should be limited if the destinations
+are pager. Most alpha-pages have a message limit of 150-250 characters.  The
+rest of the form should be populated with whatever fields that you need into
+order to interface to your paging applications
+</p>
+<h3 class="POD_HEAD2"><a name="Customized_Action_Ba">Customized Action Bars / Tool Bars</a></h3>
+<p class="POD_TEXT">
+The Action Bar of the Host and Service Status Displays (see the <a class="POD_LINK" href="user-guide.html">user-guide</a> manpage
+for more details) can be customized with the <i>$WWW_ACTIONBAR_CUSTOM</i>
+configuration parameter (see the section on <a class="POD_LINK" href="spong.conf.html#_WWW_ACTIONBAR_CUSTO">$WWW_ACTIONBAR_CUSTOM</a> in the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage). Any HTML
+code defined in this parameter will be included at the end of the Action Bars.
+</p>
+<p class="POD_TEXT">
+This parameter is preprocessed with the Perl <code>eval</code> function before the
+contents are printed. This allows you to include complex Perl variables or Perl
+code. Because of the <code>eval</code> processing you should use single quotes to enclose
+the contents of this parameter. This will prevent premature evaluation of Perl
+variables before the output.
+</p>
+<p class="POD_TEXT">
+If your do not need this customization, just leave <b>$WWW_ACTIONBAR_CUSTOM</b>
+undefined. Nothing will be added to the Action Bars.
+</p>
+<h3 class="POD_HEAD2"><a name="Auto_Refresh">Auto-Refresh</a></h3>
+<p class="POD_TEXT">
+The default of the spong-server is to not allow auto-refreshes if
+<b>@WWW_REFRESH_ALLOW</b> and <b>@WWW_REFRESH_DENY</b> variables are empty (see
+the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage). The <b>spong-server</b> the matches the <i>REMOTE_ADDR</i>,
+<i>REMOTE_HOST</i>, and <i>REMOTE_USER</i> fields in the CGI environment against the
+list of REFRESH_ALLOW expressions.  If there is a match the session if ok'ed for
+auto-refreshes. The server then checks the <i>REMOTE_xxx</i> fields against the
+list of REFRESH_DENY expressions.  A match here disallows auto-refresh even if
+there was a previous match of a REFRESH_ALLOW expression.
+</p>
+<p class="POD_TEXT">
+For example, if <i>@WWW_REFRESH_ALLOW</i> contains[ 'joe', '.*-support',
+'^192.168.12.*', 'noc-display' ] and <i>@WWW_REFRESH_DENY</i> contains
+['bill','mary']. If a web browser on a machine at ip address 192.168.12.143
+queries the spong-server web pages, the auto-refresh would be allowed because
+it matches the '^192.168.12.*' expression of <i>@WWW_REFRESH_ALLOW</i>. But if the
+user was 'fred' at the same machine (192.168.12.143), auto-refresh would not be
+enabled because 'fred' is in the I@&lt;WWW_REFRESH_DENY&gt; list.
+</p>
+<h2 class="POD_HEAD1"><a name="SPONG_NETWORK">SPONG-NETWORK</a></h2>
+<h3 class="POD_HEAD2"><a name="Service_Checks">Service Checks</a></h3>
+<p class="POD_TEXT">
+The service checks for a host are controlled by the <i>services</i> attribute
+of the host's entry in the the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage configuration file. <i>services</i> is a
+list of services that will checks.  The services are checked in the order they
+are listed in <i>services</i>.
+</p>
+<p class="POD_TEXT">
+The services listed in <i>services</i> are actually <u>spong-network modules</u>, and meta-services names. The
+<u>spong-network modules</u> do the actual network
+service checks and meta-service names alter the default behavior of the
+<a class="POD_LINK" href="spong-network.html">spong-network</a> program.
+</p>
+<p class="POD_TEXT">
+At present there is only one meta-service: <i>noping</i>.
+<a class="POD_LINK" href="spong-network.html">spong-network</a> default behavior is to prepend a <i>ping</i> on to
+the list in the <i>services</i> attribute.  Putting <i>noping</i> in the list stops
+this behavior.
+</p>
+<h3 class="POD_HEAD2"><a name="Service_Check_Flags">Service Check Flags</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="stop_after">stop_after</a>
+<dd>
+The <i>stop_after</i> flag (the colon (':') ) can be appended to one, or
+more, services in the <i>services</i> attribute for a host. If the check service
+with the &lt;stop_after&gt; flag fails, all remaining services are skipped and set
+with the <b>clear</b> status.
+<p class="POD_TEXT">
+This <i>stop_after</i> flag is used to signal dependencies within the list
+of tests specified in a <i>services</i> attribute. If the rpc portmapper service is
+down, the NFS and NIS services on the system would be down also. There would be
+no need to also check them.
+</p>
+<pre class="POD_TEXT">
+For example:
+
+   'myhost.example.com' =&gt; { services =&gt; 'ping: ftp smtp http: webapp', },
+</pre>
+<p class="POD_TEXT">
+If the <b>ping</b> check for the host failed, the most likely reason is the host is
+now out of communication with the Spong Network host. Checking the remaining
+network services is not necessary. They would be reported as down and an number
+of unnecessary notifications would have been sent out. The <i>stop_after</i> flag
+will cause the remaining services to be reported as <b>clear</b>/not-available.
+</p>
+<p class="POD_TEXT">
+Similarly, the web server need to be running for a web-application to run. So
+the <b>http</b> check is placed before the <b>webapp</b> check in <i>services</i> and it is
+flagged with the <i>stop_after</i> flag.
+</p>
+</dl>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:58:58 2002
+</body>
+</html>
+
diff --git a/www/docs/check_interfaces.html b/www/docs/check_interfaces.html
new file mode 100644 (file)
index 0000000..de7bed3
--- /dev/null
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>check_interfaces</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="check_snmp.html">Next:<br>check_snmp</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="admin-guide.html">Previous:<br>admin-guide</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">check_interfaces</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Output_Returned">Output Returned</a>
+<li><a class="POD_NAVLINK" href="#Configuration">Configuration</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#NOTES">NOTES</a>
+<li><a class="POD_NAVLINK" href="#RESTRICTIONS">RESTRICTIONS</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>check_interfaces</b> - spong-network module to check for down intefaces via SNMP
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is a plugin module for the Spong the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program. It is a core
+Spong module. The <b>check_interfaces</b> module checks for down network interfaces
+on a host by polling via SNMP. It reports any interfaces that are
+administratively up but operationally not up.
+</p>
+<h3 class="POD_HEAD2"><a name="Output_Returned">Output Returned</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Status">Status</a>
+<dd>
+If all interfaces are operationally up, a 'green' status is returned. If a host
+is found to have no interfaces a 'yellow' status is returned. Any interfaces
+that are operationally down and administratively up, a 'red' status is
+returned. Any SNMP session problems will also result in a 'red' status being
+returned.
+<dt class="POD_ITEM"><a name="Summary_Field">Summary Field</a>
+<dd>
+In normal operation, the status field will show &quot;all interfaces up&quot;. If one or
+more network interfaces are down, it will show &quot;some interfaces are down&quot;.
+Otherwise the summary field will have a description of what the problem or
+anamoly is.
+<dt class="POD_ITEM"><a name="Detail_Message_Field">Detail Message Field</a>
+<dd>
+In normal opereration the detail message field will have a list of all of the
+network interfaces in the <i>MIBII ifTable</i> table along with the interface
+description (<i>ifDesc</i>), type (<i>ifType</i>), administrative status
+(<i>ifAdminStatus</i>) and operational status (<i>ifOperStatus</i>). Otherwise this
+field will have a detailed description of the cause of an error.
+</dl>
+<h3 class="POD_HEAD2"><a name="Configuration">Configuration</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="SNMP_Community_Name">SNMP Community Name</a>
+<dd>
+The default SNMP Community name is <i>public</i>. To provide an alternate default
+SNMP Community name add it to the
+<a class="POD_LINK" href="spong.hosts.html">$HOSTS_DEFAULTS</a> entry in the <b>spong.conf</b> file
+(i.e. $HOSTS_DEFAULTS{'snmp_community'} = 'secret';).
+<p class="POD_TEXT">
+To override the default name on a per host basis, specify a <code>snmp_ community</code>
+attribute in a host's entry in the <i>%HOSTS</i> variabile of the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+configuration file. See the the section on <a class="POD_LINK" href="#EXAMPLES">EXAMPLES</a> elsewhere in this document section for a detailed
+example.
+</p>
+<dt class="POD_ITEM"><a name="Ignored_Interfaces">Ignored Interfaces</a>
+<dd>
+You can also specify a list of network interfaces for the <b>check_interfaces</b>
+module to ignore. Add an 'ignore_interfaces' attribute to a host entry in
+$HOSTS with a list of network interface to ignore.
+<p class="POD_TEXT">
+A default list of interfaces to ignore is added an 'ignore_interfaces' entry
+to the $HOSTS_DEFAULTS variable.  A list of interfaces to ignore in all hosts
+is created by adding an 'ignore_interfaces' entry to the $HOSTS_ALL varirable.
+See the <a class="POD_LINK" href="#EXAMPLES">Examples</a> section for a detailed example.
+</p>
+</dl>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+ %HOSTS = ( 'hostname.my-inc.com' =&gt; { 'services'  =&gt; 'interfaces',
+                                       'ip_addr'   =&gt; ['192.168.13.123'],
+                                       'community' =&gt; 'local-read',
+                                       'ignore_interfaces' =&gt; ['ppp1','ppp2'];
+                                       },
+            );
+
+ $HOSTS_DEFAULTS{'snmp_community'} = 'mysecret';
+
+ # Ignore the unused default intefaces on more servers
+ $HOSTS_DEFAULTS{'ignore_interfaces'} = ['et0','lan0'];
+
+ # Skip the loopback interface on the linux boxes
+ $HOSTS_ALL('ignore_interfaces} = ['lo0'];
+</pre>
+<p></p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="check_snmp.html">check_snmp</a> manpage,
+<a class="POD_LINK" href="spong-network-mod-template.html">spong-network Modules Template</a>,
+<a class="POD_LINK" href="developer-guide.html">Spong Developer Guide</a>
+</p>
+<h2 class="POD_HEAD1"><a name="NOTES">NOTES</a></h2>
+<p class="POD_TEXT">
+The <b>check_interfaces</b> module use SNMP to poll a host. It retrieves the
+<b>ifIndex</b>, <b>ifDesc</b>, <b>ifType</b>, <b>ifAdminStatus</b>, and  <b>ifOperStatus</b> fields
+for every entry in the <b>ifTable</b> table. The module then scans all of all of
+the network interfaces inretrieved from the table. Any interface that is
+administratively up and is not operationally up will result in an critical
+status (red) being return.
+</p>
+<h2 class="POD_HEAD1"><a name="RESTRICTIONS">RESTRICTIONS</a></h2>
+<p class="POD_TEXT">
+<b>check_interfaces</b> uses the <code>SNMP_Session</code>, <code>SNMP_utils</code> and <code>BER</code> modules
+from the <b>SNMP_Session</b> package. The <b>SNMP_Session</b> package must be installed
+in order for this module to work.
+</p>
+<pre class="POD_TEXT">
+The latest version of <b>SNMP_Session</b> package can be obtained from:
+
+  http://www.switch.ch/misc/leinen/snmp/perl/index.html
+</pre>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+The original author is Mike Bayliss &lt;<code>mbayliss@datax.be</code>&gt;. Extra debug code
+and enhancements added by Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:58:59 2002
+</body>
+</html>
+
diff --git a/www/docs/check_snmp.html b/www/docs/check_snmp.html
new file mode 100644 (file)
index 0000000..122793c
--- /dev/null
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>check_snmp</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="data_sendmsg.html">Next:<br>data_sendmsg</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="check_interfaces.html">Previous:<br>check_interfaces</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">check_snmp</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Output_Returned">Output Returned</a>
+<li><a class="POD_NAVLINK" href="#Configuration">Configuration</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#NOTES">NOTES</a>
+<li><a class="POD_NAVLINK" href="#RESTRICTIONS">RESTRICTIONS</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>check_snmp</b> - spong-network module to check for proper SNMP agent operation
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is a plugin module for the Spong the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program. It is a core
+Spong module. The <b>check_snmp</b> module checks for the SNMP agent running
+in the host for proper operation.
+</p>
+<p class="POD_TEXT">
+The module check SNMP by issuing an <i>snmpget</i> operation for the <i>systemGroup</i>
+table of the host. If the operation is sucessfully, snmp service is deemed
+OK. The module also has an option check for the <i>sysObjectId</i>. An expected
+<i>sysObjectId</i> value can be specified to be checked against the <i>sysObjectId</i>
+value retrieved in the snmpget operation. If the values don't agree, a
+critical (red) status is reported
+</p>
+<h3 class="POD_HEAD2"><a name="Output_Returned">Output Returned</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Status">Status</a>
+<dd>
+If the <i>snmpget</i> operation is successfully, 'green' status is return. If an
+SNMP error occurs a 'red' status is returned.
+<p class="POD_TEXT">
+If an <b>expect_objid</b> is specified for the host, a 'green' status is returned
+if the <i>snmpget</i> operation is successful and the <i>sysObjectId</i> value matches
+the <b>expect_objid</b>. If the values don't match, a 'red' status is returned.
+</p>
+<dt class="POD_ITEM"><a name="Summary_Field">Summary Field</a>
+<dd>
+If there are no problems, &quot;snmp ok&quot; is returned. Otherwise the summary field
+will have a short description of that the problem or anamoly is.
+<dt class="POD_ITEM"><a name="Detail_Message_Field">Detail Message Field</a>
+<dd>
+If normal operation the detail message will have the values of the system
+description (<i>sysDesc</i>), uptime (<i>sysUpTime</i>), contact (<i>sysContact</i>), name
+(<i>sysName</i>), location (<i>sysLocation</i>), and object id (<i>sysObjectID</i>) fields
+from the System Group. If an <b>expect_objid</b> was specified for the host and the
+retrived object id doesn't match, the expected value will also be listed.
+Otherwise this field will have a detailed description of the cause of an error.
+</dl>
+<h3 class="POD_HEAD2"><a name="Configuration">Configuration</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="SNMP_Community_Name">SNMP Community Name</a>
+<dd>
+The default SNMP Community name is <i>public</i>. To override the default name
+specify a <code>snmp_community</code> attribute in a host's entry in the <i>%HOSTS</i>
+variable in the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage configuration file. See 
+the section on <a class="POD_LINK" href="#EXAMPLES">EXAMPLES</a> elsewhere in this document for a detailed example.
+<dt class="POD_ITEM"><a name="Expected_System_Obje">Expected System Object ID</a>
+<dd>
+You can specify an expected <i>sysObjectID</i> value to be checked against the
+retrieved. Specify a <code>expect_objid</code> attribute in a host's entry in the
+<i>%HOSTS</i> variable in the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage configuration file. See the
+<a class="POD_LINK" href="#EXAMPLES">Examples</a> section for a detailed example.
+</dl>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+ %HOSTS = ( 'hostname.my-inc.com' =&gt; { 'services'  =&gt; 'snmp',
+                                       'ip_addr'  =&gt; ['192.168.13.123'],
+                                       'snmp_community' =&gt; 'local-read',
+                                       'expect_objid' =&gt;
+                                           '1.3.6.1.4.1.2021.250.10',
+          );
+</pre>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="check_interfaces.html">check_interfaces</a> manpage,
+<a class="POD_LINK" href="spong-network-mod-template.html">spong-network Modules Template</a>,
+<a class="POD_LINK" href="developer-guide.html">Spong Developer's Guide</a>
+</p>
+<h2 class="POD_HEAD1"><a name="NOTES">NOTES</a></h2>
+<p class="POD_TEXT">
+The <b>check_snmp</b> module uses an SNMP <i>snmpget</i> operation to poll a host.
+It retrieves the values of the system description (<i>sysDesc</i>), uptime
+(<i>sysUpTime</i>), contact (<i>sysContact</i>), name (<i>sysName</i>), location
+(<i>sysLocation</i>), and object id (<i>sysObjectID</i>) fields from the System Group.
+If the <i>snmpget</i> operation was successful, the snmp service is deemed OK.
+</p>
+<p class="POD_TEXT">
+If an optional <b>expect_objid</b> value is specified for the host, it will be
+compared to the <i>sysObjectID</i> value retrieved from the host. If the values
+don't match a critical ('red') status is generated.
+</p>
+<h2 class="POD_HEAD1"><a name="RESTRICTIONS">RESTRICTIONS</a></h2>
+<p class="POD_TEXT">
+<b>check_interfaces</b> uses the <code>SNMP_Session</code>, <code>SNMP_utils</code> and <code>BER</code> modules
+from the <b>SNMP_Session</b> package. The <b>SNMP_Session</b> package must be installed
+in order for this module to work.
+</p>
+<pre class="POD_TEXT">
+The latest version of <b>SNMP_Session</b> package can be obtained from:
+
+  http://www.switch.ch/misc/leinen/snmp/perl/index.html
+</pre>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+The original author is Mike Bayliss &lt;<code>mbayliss@datax.be</code>&gt;. Extra debug code
+and enhancements added by Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:58:59 2002
+</body>
+</html>
+
diff --git a/www/docs/data_sendmsg.html b/www/docs/data_sendmsg.html
new file mode 100644 (file)
index 0000000..a9986d2
--- /dev/null
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>data_sendmsg</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="developer-guide.html">Next:<br>developer-guide</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="check_snmp.html">Previous:<br>check_snmp</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">data_sendmsg</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration">Configuration</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#RESTRICTIONS">RESTRICTIONS</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>data_sendmsg</b> - spong-network module that sends copies of update messages to
+other spong-servers
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is a plugin module for the Spong the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage program. This module
+sends incoming update messages to other spong-servers. It's purpose is to set
+up regional Spong configurations that feed incoming status messages to 
+upper level Spong configurations.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration">Configuration</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SENDMSG_SERVERS">$SENDMSG_SERVERS</a>
+<dd>
+A string that has the list of other Spong  Servers that you want to the
+status update messages to. The syntax is &quot;hostname[:port] hostname[:port] ...&quot;.
+If the :port is not specified, Spong::Status::SendMsg defaults to
+$main::SPONG_UPDATE_PORT variable passed in the procedure call. See
+the section on <a class="POD_LINK" href="spong.conf.html#_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a> in the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage for more details.
+<dt class="POD_ITEM"><a name="_SENDMSG_INC_HOSTS">@SENDMSG_INC_HOSTS</a>
+<dd>
+This is ia list of hosts who's status messages are sent to the other Spong
+Server specified in $SENDMSG_SERVERS. These entries can be partial host names
+or Perl regular expressions.
+<dt class="POD_ITEM"><a name="_SENDMSG_EXCL_HOSTS">@SENDMSG_EXCL_HOSTS</a>
+<dd>
+This is a list of hosts that should be exclude from send to the other Spong
+Servers specified in $SENDMSG_SERVERS. These entries can be partial host names
+or Perl regulare expressions.
+</dl>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+ $SENDMSG_SERVERS = &quot;spong-reg1.myinc.com:1998 spong-toplevel.myinc.com:1998
+                     spong-proxy.myinc.com:19980&quot;;
+
+ $SENDMSG_INC_HOSTS = ( '.*', );
+
+ $SENDMSG_EXCL_HOSTS = ( 'test1', 'test2', '.engr.myinc.com$', );
+</pre>
+<p></p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage,
+<a class="POD_LINK" href="developer-guide.html">Spong Developer Guide</a>
+</p>
+<h2 class="POD_HEAD1"><a name="RESTRICTIONS">RESTRICTIONS</a></h2>
+<p class="POD_TEXT">
+<b>data_sendmsg</b> uses the <code>Spong::Status</code> library module to work.  It uses the
+new capability to send a status message to multiple servers. It is only
+available in versions 0.02 and up of the Spong::Status module.
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:58:59 2002
+</body>
+</html>
+
diff --git a/www/docs/developer-guide.html b/www/docs/developer-guide.html
new file mode 100755 (executable)
index 0000000..b388f32
--- /dev/null
@@ -0,0 +1,510 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>developer-guide</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="pre_redirect.html">Next:<br>pre_redirect</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="data_sendmsg.html">Previous:<br>data_sendmsg</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">developer-guide</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#PROTOCOLS">PROTOCOLS</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#SPONG_PROTOCOL">SPONG PROTOCOL</a>
+<li><a class="POD_NAVLINK" href="#BIG_BROTHER_PROTOCOL">BIG BROTHER PROTOCOL</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#MODULES">MODULES</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#SERVER_MODULES">SERVER MODULES</a>
+<li><a class="POD_NAVLINK" href="#CLIENT_MODULES">CLIENT MODULES</a>
+<li><a class="POD_NAVLINK" href="#NETWORK_MODULES">NETWORK MODULES</a>
+<li><a class="POD_NAVLINK" href="#MESSAGE_MODULES">MESSAGE MODULES</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CREATING_MODULES">CREATING MODULES</a>
+<li><a class="POD_NAVLINK" href="#Status_Function">Status Function</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>developer-guide</b> - developer's guide to Spong
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is the developer guild to Spong. It documents the inner workings of the
+client and server programs. It also describes the plug-in mechanism of the
+<b>spong-client</b> and <b>spong-network</b> so that new check modules can be
+developed for these programs.
+</p>
+<h2 class="POD_HEAD1"><a name="PROTOCOLS">PROTOCOLS</a></h2>
+<p class="POD_TEXT">
+This section deals with the low level communication protocols that the clients
+use to talk with the <b>spong-server</b>.  The Spong and Big Brothers protocols
+almost identical. They vary only in the data format.
+</p>
+<h3 class="POD_HEAD2"><a name="SPONG_PROTOCOL">SPONG PROTOCOL</a></h3>
+<pre class="POD_TEXT">
+The <b>spong-server</b> listens in on port 1998 for status updates from clients.
+After a socket has been opened, the client program sends a message with the
+following format:
+
+    command host service color time[:TTL] summary (\n)
+    detailed status message line 1 (\n)
+    detailed status message line 2 (\n)
+    ...
+    detailed status message line n (\n)
+</pre>
+<p class="POD_TEXT">
+Where:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="command">command</a>
+<dd>
+The command being sent to the spong server indicating
+a type of update message or a change in operating status of the client.
+<dt class="POD_ITEM"><a name="host">host</a>
+<dd>
+The fully qualified domain name of the host the message
+is for.
+<dt class="POD_ITEM"><a name="service">service</a>
+<dd>
+The name of the service that the update message is
+for.
+<dt class="POD_ITEM"><a name="color">color</a>
+<dd>
+The status color of the service (green - ok, yellow
+- warning, red - alert).
+<dt class="POD_ITEM"><a name="time">time</a>
+<dd>
+The date/time of the update message in epoch time format
+(i.e. the number of seconds since 01/01/70, 00:00 AM)
+<dt class="POD_ITEM"><a name="TTL">TTL</a>
+<dd>
+This optional field is the time to live, in seconds, for the status message. 
+Normally a will become stale (i.e. purple status) after 2 times $SPONGSLEEP
+seconds which is the default. See the section on <a class="POD_LINK" href="spong.conf.html#_SPONGSLEEP_Deprecia">$SPONGSLEEP</a> in the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage. This field will
+override the default and keep the status message valid for a longer period of
+time.
+<dt class="POD_ITEM"><a name="summary">summary</a>
+<dd>
+The status summary message field. A short and to the point message that
+summarizes the status being returned.
+<dt class="POD_ITEM"><a name="detailed_status_mess">detailed status message</a>
+<dd>
+The remained lines of the message which will be the detailed information of the
+status. Typically it can be the output of the <code>df</code> command or the top processes
+by CPU utilization or the detailed responses of network checks.
+</dl>
+<h3 class="POD_HEAD2"><a name="BIG_BROTHER_PROTOCOL">BIG BROTHER PROTOCOL</a></h3>
+<pre class="POD_TEXT">
+The <b>spong-server</b> listens in on port 1984 for status Big Brother
+client updates. After a socket has been opens the client sends a message
+with the following format:
+
+    command host service color time summary (\n)
+    detailed status message line 1 (\n)
+    detailed status message line 2 (\n)
+    ...
+    detailed status message line n (\n)
+</pre>
+<p class="POD_TEXT">
+Where:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="command1">command</a>
+<dd>
+The command being sent to the spong server indicating
+a type of update message or a change in operating status of the client.
+At present the only command defined is <code>status</code> which indicates a
+service status update message.
+<dt class="POD_ITEM"><a name="host1">host</a>
+<dd>
+The fully qualified domain name of the host the message
+is for.
+<dt class="POD_ITEM"><a name="service1">service</a>
+<dd>
+The name of the service that the update message is
+for.
+<dt class="POD_ITEM"><a name="color1">color</a>
+<dd>
+The status color of the service (green - ok, yellow
+- warning, red - alert).
+<dt class="POD_ITEM"><a name="time1">time</a>
+<dd>
+The date/time of the update message in standard date
+format (i.e. Thu Jan 1 00:00:00 UTC 1970)
+<dt class="POD_ITEM"><a name="summary1">summary</a>
+<dd>
+The status summary message field.
+<dt class="POD_ITEM"><a name="detailed_status_mess1">detailed status message</a>
+<dd>
+The remained lines of the message
+which will be the detailed information of the status. Typically it can
+be the output of the df command or the top processes by CPU utilization
+or the detailed responses of network checks.
+</dl>
+<h2 class="POD_HEAD1"><a name="MODULES">MODULES</a></h2>
+<p class="POD_TEXT">
+<b>spong-client</b>, <b>spong-network</b>, <b>spong-message</b> and <b>spong-server</b> use
+various routines which are coded as modules. When the programs are
+initializing, they determine which modules are going to be required. The
+programs then go out and load each of the modules from the library directory.
+When the modules are loaded they register themselves with the plug-ins
+registry.  The plug-in registry is the mechanism that the client programs use
+to keep track of the modules into order to run them.
+</p>
+<h3 class="POD_HEAD2"><a name="SERVER_MODULES">SERVER MODULES</a></h3>
+<p class="POD_TEXT">
+<b>spong-server</b> has a hook that allows external programs access to the incoming
+status updates coming from Spong client programs. The hook takes the form of
+Server Data modules which are called after spong-server stores the status 
+update in it's database.
+</p>
+<p class="POD_TEXT">
+<b>spong-server</b> passes all of the information of the update message in addition
+to the current event status duration to the Data Module. The modules should
+do any processing that they need to do in as short a time as possible. This is
+to minimize the resource overhead with lots of simultaneous status updates
+arrive at same time.
+</p>
+<p class="POD_TEXT">
+Debugging messages and error messages can be printed by using the 
+&amp;main::debug() and &amp;main::error() functions respectively. If the module
+develops a fatal error, it should terminate using the die() or croak() 
+functions depending on ones preference. Modules should just return upon a 
+successful invocation.
+</p>
+<p class="POD_TEXT">
+NEW
+</p>
+<p class="POD_TEXT">
+There are two new types of Spong Server plugin modules: predata and postdata
+modules.  The predata modules are called just after a message is received but
+before the normal Spong processing is done. And a post module is called after
+the Server's normal processing. i
+</p>
+<p class="POD_TEXT">
+Also in contrast to the old Spong Server data plugin modules all incoming
+messages a sent to the new predata and postdata modules, not just status
+messages.  Predata modules can even flag a message to tell the Spong Server to
+drop the message and ignore it.  This will allow you a great deal more access
+and control of the Server's incoming message processing.
+</p>
+<p class="POD_TEXT">
+Modules are called a predictable, controlable order. There are run in the order
+of the sorted registry hash keys. This allows you to create modules that have
+run dependencies.
+</p>
+<p class="POD_TEXT">
+And there is a new API to go along with the new modules. Now parameters are
+passed in a Perl hash. This simplifies the module interface to the server. The
+message type is determined by the <code>cmd</code> field. Message hash details are 
+in the the <a class="POD_LINK" href="spong-server-mod-template.html">spong-server-mod-template</a> manpage document.
+</p>
+<p class="POD_TEXT">
+See the <a class="POD_LINK" href="spong-server-mod-template.html">spong-server-mod-template</a> manpage for an example of how to code a
+<b>spong-server</b> Server Data Modules
+</p>
+<h3 class="POD_HEAD2"><a name="CLIENT_MODULES">CLIENT MODULES</a></h3>
+<p class="POD_TEXT">
+Client modules define checks which are to be done on the host that the
+<b>spong-client</b> program is running on. The module's check function is called
+without any parameters. Client modules are expected to issue any systems
+command and parse the output in order to determine the service status.
+</p>
+<p class="POD_TEXT">
+Any threshold variables needed for warning and alert level trigger need to be
+defined and placed into the <code>SPONG/etc/spong.conf</code> file. The threshold
+variable need to be uniquely named and should be named according to the type of
+check being done (i.e. $DISKWARN or $DFWARN for disk checks and $CPUWARN for
+CPU checks, etc.).
+</p>
+<p class="POD_TEXT">
+Once the service status and messages have been determined the module
+can call the <code>&amp;main::status()</code> function in order to send the
+information back to the spong-server. See the section on <a class="POD_LINK" href="#Status_Function">Status Function</a> elsewhere in this document for more 
+information.
+</p>
+<h3 class="POD_HEAD2"><a name="NETWORK_MODULES">NETWORK MODULES</a></h3>
+<p class="POD_TEXT">
+Network modules defined checks that to be done on hosts over the network
+to ensure that a network service is running. The modules are called with
+the name of the host the check is to be done to. The modules is also expected
+to put an alarm wrapper around the code that performs the check. This is
+to prevent excessive delays dues to lost communications. It is suggested
+that 10 seconds be used for the alarm setting.
+</p>
+<p class="POD_TEXT">
+The module should not call the &amp;main::status() function directly.
+<b>spong-network</b> has a mechanism for rechecking services that are reported down
+on an initial check. If the recheck mechanism is engaged, &quot;red&quot; statuses will
+be downgraded to &quot;yellow&quot; until a failure count threshold is reached. The the
+services will be reported as &quot;red&quot;.
+</p>
+<p class="POD_TEXT">
+After the status condition has been determined the check function should return
+three parameters:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="STATUS">STATUS</a>
+<dd>
+The status color either &quot;red&quot;, &quot;yellow&quot;, or &quot;green&quot;.
+<dt class="POD_ITEM"><a name="SUMMARY">SUMMARY</a>
+<dd>
+A short line line summary of the status
+<dt class="POD_ITEM"><a name="MESSAGE">MESSAGE</a>
+<dd>
+more detailed information (can be multi-lined)
+</dl>
+<p class="POD_TEXT">
+These parameters are the same that will be passed to the <code>&amp;main::status()</code>
+command. See the section on <a class="POD_LINK" href="#Status_Function">Status Function</a> elsewhere in this document for more information on these parameters.
+</p>
+<p class="POD_TEXT">
+The network modules have two support functions available,
+<code>&amp;main::check_tcp()</code> and <code>&amp;main::check_simple()</code>, which can
+simplify simple TCP port checks.
+</p>
+<p class="POD_TEXT">
+<code>&amp;main::check_tcp( host, port, data );</code>
+</p>
+<p class="POD_TEXT">
+Where the arguments are:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="HOST">HOST</a>
+<dd>
+The name or ip address of the host to be checked.
+<dt class="POD_ITEM"><a name="PORT">PORT</a>
+<dd>
+The name, or port number, of service to connect with.
+<dt class="POD_ITEM"><a name="DATA">DATA</a>
+<dd>
+The data to be send to the host after the port is opened.
+</dl>
+<p class="POD_TEXT">
+The function <code>&amp;main::check_tcp()</code> will make a connection to
+the given PORT on the HOST and send a message (DATA). It then returns what
+it gets back to the caller.
+</p>
+<p class="POD_TEXT">
+<code>&amp;main::check_simple( host, port, send, check, service)</code>
+</p>
+<p class="POD_TEXT">
+Where the arguments are
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="HOST1">HOST</a>
+<dd>
+The name or ip address of the host to be checked.
+<dt class="POD_ITEM"><a name="PORT1">PORT</a>
+<dd>
+The name of the port to connect with.
+<dt class="POD_ITEM"><a name="SEND">SEND</a>
+<dd>
+The message to sent to the host after the port is opened.
+<dt class="POD_ITEM"><a name="CHECK">CHECK</a>
+<dd>
+A perl regular express to be used to validate the response return
+by the host.
+<dt class="POD_ITEM"><a name="SERVICE">SERVICE</a>
+<dd>
+The name of the service being check. It is used in the summary
+and detailed status messages.
+<p class="POD_TEXT">
+The function <code>&amp;main::check_simple()</code> is a generic TCP port checking
+routine. This will go out connect to a given port (using <code>&amp;main::check_tcp()</code>) and
+check to make sure you get back expected results. The function returned
+three parameters: STATUS, SUMMARY and MESSAGE as detailed above. The return
+values of this function can returned as the necessary returned values  of 
+the check module.
+</p>
+</dl>
+<h3 class="POD_HEAD2"><a name="MESSAGE_MODULES">MESSAGE MODULES</a></h3>
+<p class="POD_TEXT">
+Message modules are function called to send a notification message to
+a contact on a specific service or service. The messaging functions are called
+with an the contacts identifier for the messaging service (i.e. the page PIN
+code of a paging provider). The messaging module is expected to take care of
+all of the data formating and communications logic to send a notification
+message to the contact.
+</p>
+<p class="POD_TEXT">
+The messaging functions has access to these global variable in order format
+a notification message:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_color"><i>$color</i></a>
+<dd>
+The status color of the message
+<dt class="POD_ITEM"><a name="_host"><i>$host</i></a>
+<dd>
+The fully qualified domain name of the host
+<dt class="POD_ITEM"><a name="_time"><i>$time</i></a>
+<dd>
+The date and time of the message being sent. (format is
+epoch time or time())
+<dt class="POD_ITEM"><a name="_message"><i>$message</i></a>
+<dd>
+A one line summary status line
+<dt class="POD_ITEM"><a name="_duration"><i>$duration</i></a>
+<dd>
+The current duration of the current status in seconds.
+(a zero duration indicates a change in status)
+</dl>
+<p class="POD_TEXT">
+There are two support functions that be used to format a message and send the
+message via e-mail: <code>&amp;main::email_status()</code> and
+<code>&amp;main::email_mini_status()</code>.  Both functions format e-mail message to be
+send to RECIPIENTS, but <code>email_mini_status()</code> sends out a shorter mail message
+which is more suitable for SMS and smaller alpha pagers.
+</p>
+<p class="POD_TEXT">
+Both functions are called thusly:
+</p>
+<p class="POD_TEXT">
+<code>&amp;main::email_status( recipient, flags )</code>
+</p>
+<p class="POD_TEXT">
+<code>&amp;main::email_mini_status( recipient, flags )</code>
+</p>
+<p class="POD_TEXT">
+Where the arguments to the functions are:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="RECIPIENT">RECIPIENT</a>
+<dd>
+one or more e-mail recipients which placed in the to: line
+of the mail message.
+<dt class="POD_ITEM"><a name="FLAGS">FLAGS</a>
+<dd>
+flags to alter the formating of the message.
+</dl>
+<p class="POD_TEXT">
+The only flag current defined is 'shortsubject'. This prevents $color,
+$hostname, and $summary from being placed on the &quot;subject:&quot; line.
+</p>
+<h2 class="POD_HEAD1"><a name="CREATING_MODULES">CREATING MODULES</a></h2>
+<p class="POD_TEXT">
+Creating the actual modules is very trivia to do. Create your module by
+following the appropriate template from below.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-client-mod-template.html">spong-client Module Template</a>
+</p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-network-mod-template.html">spong-network Module Template</a>
+</p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-message-mod-template.html">spong-message Module Template</a>
+</p>
+<li class="POD_ITEM"><a name="_3"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-server-mod-template.html">spong-server Module Template</a>
+</p>
+</ul>
+<p class="POD_TEXT">
+Then place your template module file into the appropriate directory below.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_4"></a>
+<p class="POD_TEXT">
+<b>spong-client</b> - <code>LIBDIR/Spong/Client/plugins</code>
+</p>
+<li class="POD_ITEM"><a name="_5"></a>
+<p class="POD_TEXT">
+<b>spong-network</b> - <code>LIBDIR/Spong/Network/plugins</code>
+</p>
+<li class="POD_ITEM"><a name="_6"></a>
+<p class="POD_TEXT">
+<b>spong-message</b> - <code>LIBDIR/Spong/Message/plugins</code>
+</p>
+<li class="POD_ITEM"><a name="_7"></a>
+<p class="POD_TEXT">
+<b>spong-server</b> - <code>LIBDIR/Spong/plugins</code>
+</p>
+</ul>
+<p class="POD_TEXT">
+Then test your modules by running the program with the --debug parameter to see
+if it is operating properly.
+</p>
+<h2 class="POD_HEAD1"><a name="Status_Function">Status Function</a></h2>
+<p class="POD_TEXT">
+&amp;main::status( SERVERADDR, HOST, SERVICE, COLOR, SUMMARY, MESSAGE )
+</p>
+<p class="POD_TEXT">
+The arguments to the <code>&amp;main::status()</code> function are:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="SERVERADDR">SERVERADDR</a>
+<dd>
+Should be <i>$SPONGSERVER</i>.
+<dt class="POD_ITEM"><a name="HOST2">HOST</a>
+<dd>
+The full hostname of the machine being reported.
+<dt class="POD_ITEM"><a name="SERVICE1">SERVICE</a>
+<dd>
+The a short name that describes the service
+that you are reporting on.
+<dt class="POD_ITEM"><a name="COLOR">COLOR</a>
+<dd>
+The color of the status being reported, either &quot;green&quot;, &quot;yellow&quot;, or &quot;red&quot;.
+&quot;green&quot; denotes an OK status, there are no problems and everything is within
+normal parameters. &quot;yellow&quot; denotes a warning status, a abnormal situation that
+has which may be need to be looked at or a parameter has changed (up or down)
+towards a critical level. &quot;red&quot; denotes an alert status, a critical situation
+that has arisen and needs immediate attention or a parameter has changed (up
+or down) to a critical level.
+<dt class="POD_ITEM"><a name="SUMMARY1">SUMMARY</a>
+<dd>
+A short one line summary of the status. This should be a short and concise
+summary of the current situation of the service. The simplest form is to 
+say &quot;Service is OK&quot; or &quot;Service is down&quot;. Another form is to display current
+information (like system uptime, number of job and users) and additional
+text for warning and alerts (i.e. &quot;uptime - 123, jobs - 123, users - 123, cpu
+load level is at 3.2&quot;).
+<p class="POD_TEXT">
+If you are reporting on multiple sets of like items (like file partitions or
+processes), report the names of those items that are abnormal, (i.e.
+&quot;filesystems: / at 99%, /tmp at 100%&quot;).
+</p>
+<dt class="POD_ITEM"><a name="MESSAGE1">MESSAGE</a>
+<dd>
+This is the place to put detailed information about the status of the service.
+Typically this will be the output of the system commands or function calls. For example, it could be the 10 jobs by cpu usage in a <code>ps</code> command, or the output
+of a df command for disk checking.
+<p class="POD_TEXT">
+There are no limitations on the contexts of the field. You can include URL's
+that link to another monitor package or take you to an administration web page
+for the service in question.
+</p>
+</dl>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong-client.html">spong-client</a> manpage, the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage,
+the <a class="POD_LINK" href="spong-server-mod-template.html">spong-server-mod-template</a> manpage, the <a class="POD_LINK" href="spong-client-mod-template.html">spong-client-mod-template</a> manpage,
+the <a class="POD_LINK" href="spong-network-mod-template.html">spong-network-mod-template</a> manpage, the <a class="POD_LINK" href="spong-message-mod-template.html">spong-message-mod-template</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson, &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:00 2002
+</body>
+</html>
+
diff --git a/www/docs/pre_redirect.html b/www/docs/pre_redirect.html
new file mode 100644 (file)
index 0000000..c91314f
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>pre_redirect</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.html">Next:<br>spong</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="developer-guide.html">Previous:<br>developer-guide</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">pre_redirect</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration">Configuration</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#RESTRICTIONS">RESTRICTIONS</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>pre_redirect</b> - spong-network predata module that redirects update messages
+to other spong-servers
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is a pre data plugin module for the Spong the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage program. This
+module redirects incoming update messages to other spong-servers. It is used to
+selective redirect certain status messages to another Spong Server Host or
+another Spong Server instance.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration">Configuration</a></h3>
+<p></p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<p></p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage,
+<a class="POD_LINK" href="developer-guide.html">Spong Developer Guide</a>
+</p>
+<h2 class="POD_HEAD1"><a name="RESTRICTIONS">RESTRICTIONS</a></h2>
+<p class="POD_TEXT">
+<b>pre_redirect</b> uses the <code>Spong::Status</code> library module to work.  It uses the
+new capability to send a status message to multiple servers. It is only
+available in versions 0.02 and up of the Spong::Status module.
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:00 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-ack.html b/www/docs/spong-ack.html
new file mode 100644 (file)
index 0000000..a318714
--- /dev/null
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-ack</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-cleanup.html">Next:<br>spong-cleanup</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.html">Previous:<br>spong</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-ack</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#OPTIONS">OPTIONS</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-ack</b> - Spong acknowledgment tool
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-ack</b> [<b>--debug</b>] [<b>--batch</b>] host services time [message]
+</p>
+<p class="POD_TEXT">
+<b>spong-ack</b> [<b>--debug</b>] <b>--delete</b> ack-id
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+When a spong event occurs (or will occur), you can use this tool to acknowledge
+that you know that there is a problem. You can provide text that will be seen
+by others looking at the event (via a spong display program). You can specify
+at time limit that the problem will occur. If a problem has been acknowledged,
+you will no longer received notifications of the problem, and the display
+programs will show the status of the service as &quot;blue&quot;.
+</p>
+<h2 class="POD_HEAD1"><a name="OPTIONS">OPTIONS</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_debug"><b>--debug</b></a>
+<dd>
+Print debugging statements. This option can be specified while creating or deleting acks.
+<dt class="POD_ITEM"><a name="_batch"><b>--batch</b></a>
+<dd>
+Print the ack-id instead of the normal output. The primary use of this parameter
+is for scripts. An ack can be created when a job that runs causes a service to
+temporarily exceed it's normally limits, or if a service is taken down for an
+unknown or irregular length of time.
+<dt class="POD_ITEM"><a name="_delete"><b>--delete</b></a>
+<dd>
+Delete a previously created ack.
+</dl>
+<p class="POD_TEXT">
+Here is a description of the arguments for creating acks:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="host">host</a>
+<dd>
+The host having the problem(s) you are acknowledging.
+<dt class="POD_ITEM"><a name="service">service</a>
+<dd>
+The service or services (separated by &quot;.&quot;) or <i>all</i> services that your are 
+acknowledging.
+<dt class="POD_ITEM"><a name="time">time</a>
+<dd>
+The that the acknowledgement will late. This can be an offset &quot;+1h, +3a,d +1w&quot; or
+an absolute date and/or time indicator &quot;12/25/1997 14:00:00. The date needs to be
+a 4 digit year, and the time needs to be in 24 hour format.
+<dt class="POD_ITEM"><a name="message">message</a>
+<dd>
+An optional message that will appear to those viewing the state of the host with a
+spong display program. If the value is &quot;-&quot;, then the message will read from STDIN.
+</dl>
+<p class="POD_TEXT">
+Here is a description of the arguments for deleting acks:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="ack_id">ack-id</a>
+<dd>
+The acknowledgment id to delete. The id can be obtained by using the <b>--batch</b>
+parameter when creating the acknowledgment, or by using the the <a class="POD_LINK" href="spong.html">spong</a> manpage command
+with the <b>--brief</b> and <b>--ack</b> parameters.
+</dl>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+<b>spong-cleanup</b> reads the standard spong.conf and spong.conf.&lt;host&gt;
+configuration files.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The host that at least the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage and the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+programs are running on. Typically the the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program runs on that
+host as well.
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process listens
+on. If this variable is not defined on the <i>$SPONGSERVER</i> host, the
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process will not be started.  The default value is 1998.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>SPONGHOME/etc/spong.conf</code>, <code>SPONGHOME/etc/spong.conf.&lt;host&gt;</code>
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+   spong-ack mailhub.my-inc.com all '05/27/2000 06:00:00' 'Server is being upgraded'
+
+   spong-ack www5.my-inc.com http +1h 'Web server is randomly dying. Investigating.'
+</pre>
+<pre class="POD_TEXT">
+In a shell script:
+
+  ...
+  HOST=`hostname`
+  ACKID=`spong-ack --batch $HOST cpu +8h 'Database exports are running'`
+  ...
+  # Database exports are done here
+  ...
+  spong-ack --delete $ACKID
+  ...
+</pre>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+No know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<p></p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:01 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-cleanup.html b/www/docs/spong-cleanup.html
new file mode 100644 (file)
index 0000000..0858517
--- /dev/null
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-cleanup</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-client.html">Next:<br>spong-client</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-ack.html">Previous:<br>spong-ack</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-cleanup</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-cleanup</b> - perform nightly maintenance to the spong database
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-cleanup</b>
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This program performs routine, regular maintenance of the spong database.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+Cleans out any history older then 7 days.  It moves the old history for
+each host into the <a class="POD_LINK" href="spong.conf.html#_SPONG_ARCHIVE">$SPONG_ARCHIVE</a> directory.  If
+you don't think you would ever want to get at that history, then you can just
+change the script so that it is deleted.
+</p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+* Removes any acknowledgements that are no longer valid.
+</p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+* Removes any services that don't seem to be reported any more (if you
+stop monitoring something on a machine - the old entry will still hang around
+and show up as purple).
+</p>
+</ul>
+<p class="POD_TEXT">
+The <b>spong-cleanup</b> program should be run every night as a cronjob. This will
+ensure that database queries are speedy especially the History Log displays.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+<b>spong-cleanup</b> reads the standard spong.conf and spong.conf.&lt;host&gt;
+configuration files.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGDB">$SPONGDB</a>
+<dd>
+This defines the directory where the Spong database will be stored. Each host
+will have a subdirectory in this directory which is named for the host.
+<dt class="POD_ITEM"><a name="_SPONG_ARCHIVE">$SPONG_ARCHIVE</a>
+<dd>
+The directory where to put old history file entries for each host. Each host
+has it's own file in this directory.
+<dt class="POD_ITEM"><a name="_OLD_HISTORY">$OLD_HISTORY</a>
+<dd>
+This is the number of days of history to keep for each host in the
+spong-server database. Any old history is append to the file for the host under
+the <i>$SPONG_ARCHIVE</i> directory.
+<dt class="POD_ITEM"><a name="_OLD_SERVICE">$OLD_SERVICE</a>
+<dd>
+This is the number of days to retain stale service status (i.e. purple
+status) entries in the spong-server database. Any service service status
+entries older than &lt;$OLD_SERVICE&gt; days old are deleted from the
+database.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>spong.conf</code>, <code>spong.conf.[hostname]</code>
+</p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+None know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, <code>spong.conf</code>
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:01 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-client-mod-template.html b/www/docs/spong-client-mod-template.html
new file mode 100755 (executable)
index 0000000..5ac1191
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-client-mod-template</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-intro.html">Next:<br>spong-intro</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-client.html">Previous:<br>spong-client</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-client-mod-template</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spong-client-mod-template - how to create modules for spong-client
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This document describes how to create your own plug-in modules for
+the <b>spong-client</b> program. Your modules can be your own new custom check or
+they can replacements for the core Spong modules.
+</p>
+<p class="POD_TEXT">
+This template assumes that you are creating a new client check
+called 'mailq'. The name of the file created should be 'check_mailq'. The
+file name for <b>spong-client</b> modules should always be 'check_' plus the
+registry name (e.g. for the foo check, the registry name is 'foo' and the file
+name is 'check_foo').
+</p>
+<p class="POD_TEXT">
+The line that has the assignment to <i>$CHECKFUNC{'registry-name'}</i> is the
+key to the registry mechanism. It's what ties the registry name to the
+actual checking function.
+</p>
+<p class="POD_TEXT">
+The registry name does not always have to match up to the service name as in
+this case of out module 'mailq'. If you where creating a new and improved
+function to check mail queues, you could create a module called 'my_mailq'. You
+would use the registry name 'my_mailq', but you would use the service name
+'mailq' in the <code>&amp;status()</code> function when reporting your info back to
+the server.
+</p>
+<pre class="POD_TEXT">
+check_mailq:
+
+  # Register my routine with plug-in registry
+  $CHECKFUNCS{'mailq'} = &amp;check_mailq;
+
+  # Sendmail mail queue check for mail servers. It checks the number of mail
+  # message queued against the $MAILQWARN AND $MAILQCRIT variables.
+  # It runs the command in the config variable $MAILQ to do it's check.
+
+  sub check_mailq {
+     my($mqcnt, $message, $color, $summary );
+
+     open (FOO,&quot;$MAILQ |&quot;);
+
+     $mqcnt = 0;
+     while (&lt;FOO&gt;) {
+        if (/Mail Queue\s+\((\d+)/) { $mqcnt = $1; }
+
+        # Grab enough to get the first 10 entries.
+        if (++$lines &lt;= 35) { $message .= $_ };
+     }
+     close FOO;
+
+     $color = &quot;green&quot;;
+
+     if ($mqcnt &gt; $MAILQWARN) { $color = &quot;yellow&quot;; }
+     if ($mqcnt &gt; $MAILQCRIT) { $color = &quot;red&quot;; }
+     $summary = &quot;Mail Queue count = $mqcnt&quot;
+
+     &amp;main::debug(&quot;mailq - $color, $summary&quot;)
+     &amp;main::status( $SPONGSERVER, $HOST, &quot;mailq&quot;, $color,
+                    $summary, $message );
+
+  }
+
+  # I'm include perl code, I need this line.
+  1;
+</pre>
+<p class="POD_TEXT">
+Please note the final line. It is always required for a module file.
+</p>
+<p class="POD_TEXT">
+The <i>$MAILQWARN</i> and <i>$MAILQCRIT</i> variables are added to the <code>spong.conf</code>
+or <code>spong.conf.&lt;hostname&gt;</code> configuration files. These variable define
+the warning and alert threshold levels for your custom check.
+</p>
+<p class="POD_TEXT">
+Configuration variable for your custom checks should be named to match them up
+with the name of your customized check. In our case, we started our variable
+names with MAILQ with matches up nicely with our module name of 'mailq'. Naming
+the threshold variables $WARN_SPOOL_LEVEL and $CRIT_SPOOL_LEVEL would have made it unclear as to which check they belonged to. Keep the names similar, it will
+make it easier on you and others to administer your setup in the future.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage, the <a class="POD_LINK" href="spong-client.html">spong-client</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:02 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-client.html b/www/docs/spong-client.html
new file mode 100755 (executable)
index 0000000..e838bce
--- /dev/null
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-client</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-client-mod-template.html">Next:<br>spong-client-mod-template</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-cleanup.html">Previous:<br>spong-cleanup</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-client</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Format_of_update_mes">Format of update messages</a>
+<li><a class="POD_NAVLINK" href="#Running_the_program">Running the program</a>
+<li><a class="POD_NAVLINK" href="#Client_Checks">Client Checks</a>
+<li><a class="POD_NAVLINK" href="#Extending_Functional">Extending Functionality</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spong-client - report system information to spong server
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-client</b> [ <b>--debug</b>|<b>-d</b> <i>n</i> ]
+[ <b>--kill</b>|<b>--restart</b>|<b>--nosleep</b>|<b>--norefresh</b> ] <code>config-file</code>
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This program is run on each Unix machine in which you want
+to monitor local system attributes, and report that information to the
+spong server. It runs one or more configured checks. It then sleeps for
+a time period you have defined in your configuration file and does it all
+again (it actually adds or subtracts a random amount of time - no more
+then 10% of the total you have specified, to keep clients from sync'ing
+up and overloading the spong-server).
+</p>
+<p class="POD_TEXT">
+The checks are modular in nature. You can configure the number of checks
+to run and the order in which to run to them. The list of checks that are
+included are disk space, cpu load, running processes and log files.
+</p>
+<h3 class="POD_HEAD2"><a name="Format_of_update_mes">Format of update messages</a></h3>
+<p class="POD_TEXT">
+It sends a message for each check to the spong server and reports the
+following:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="hostname_where_is_th"><p>hostname (where is this report coming from)</p></a>
+<li class="POD_ITEM"><a name="service_name_disk_cp"><p>service name (&quot;disk&quot;, &quot;cpu&quot;, &quot;procs&quot;, &quot;logs&quot;, &quot;local&quot;)</p></a>
+<li class="POD_ITEM"><a name="color_red_yellow_gre"><p>color (&quot;red&quot;, &quot;yellow&quot;, &quot;green&quot;)</p></a>
+<li class="POD_ITEM"><a name="a_one_line_summary"><p>a one line summary</p></a>
+<li class="POD_ITEM"><a name="a_more_detailed_mess"><p>a more detailed message providing additional detail.</p></a>
+</ul>
+<p></p>
+<p class="POD_TEXT">
+The color is determined by comparing the current status of that service
+against thresholds defined in the configuration file. If they are greater
+then the level you have defined for a warning, then the color is yellow.
+If they are greater then the critical level you have defined then the color
+is red.
+</p>
+<p class="POD_TEXT">
+The one line summary provides information that might be useful at a
+glance when looking at the overall system status (such as a brief report
+on the load, number of users, and uptime).
+</p>
+<p class="POD_TEXT">
+The more detailed message contains information such as the complete
+<code>df</code> output, or a listing of the top 10 processes sorted by CPU.
+</p>
+<h3 class="POD_HEAD2"><a name="Running_the_program">Running the program</a></h3>
+<p class="POD_TEXT">
+You should start this program in your system startup file, and it should be
+running constantly. If no parameters are specified, <b>spong-network</b> forks
+and detaches itself to run as a daemon.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--debug</b> <i>n</i> flag, then debugging information will be
+printed to stdout, otherwise output will only be produced if there is a
+problem. Where <i>n</i> is a number from 1 - 9. A higher number means more
+verbosity in the debugging output.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--restart</b> flag, a signal will be sent to the spong-client
+process that is currently running that will cause it to reload it's
+configuration files. If you provide the <b>--kill</b> flag, a signal will be sent
+to the running spong-client process causing it to exit.
+</p>
+<p class="POD_TEXT">
+The <b>--nosleep</b> or <b>--refresh</b> flag causes the program to cycle through all
+of the checks once then exit.  These flags can be used to run spong-client as a
+cron job (<b>depreciated</b>), this reduced the effectiveness of the <b>check_logs</b>
+module.
+</p>
+<h3 class="POD_HEAD2"><a name="Client_Checks">Client Checks</a></h3>
+<p class="POD_TEXT">
+The checks are actually a set of modules that are called in series by
+<b>spong-client</b>. The list of modules to run are defined in the <i>$CHECKS</i>
+configuration variable. Upon initialization, <b>spong-client</b> will load the
+modules defined in <i>$CHECKS</i> from the <code>LIBDIR/Spong/Client/plugins/</code>
+directory. As each modules is initialized, it registers itself with the the
+plugins registry (see the <a class="POD_LINK" href="developer-guide.html">Developer Guide</a>).
+</p>
+<h3 class="POD_HEAD2"><a name="Extending_Functional">Extending Functionality</a></h3>
+<p class="POD_TEXT">
+<b>Depreciated</b>, please refer to the section on <a class="POD_LINK" href="developer-guide.html#CLIENT_MODULES">CLIENT MODULES</a> in the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage.
+</p>
+<p class="POD_TEXT">
+If you want to check some service which is not being checked by spong-client,
+then you can define a <code>&amp;check_local()</code> function in your
+config file (either in your standard the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage config file or your host specific <a class="POD_LINK" href="spong.conf.html">spong.conf.hostname</a>
+file - but not both!). That function can do anything you want, but at the
+end needs to call the <code>&amp;status()</code> function to report
+what you have found to the spong server.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+By default this reads the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage file 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.
+</p>
+<p class="POD_TEXT">
+After reading the configuration file that you specify (or the default),
+it then reads the <code>spong.conf.[hostname]</code> file where [hostname] 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.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<p class="POD_TEXT">
+Here is a listing of the configuration variables applicable to the
+<b>spong-client</b> program.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_SPONGSER">$SPONGSLEEP, $SPONGSERVER, $SPONG_UPDATE_PORT</a>
+<dd>
+Some basic spong configuration options that define how long to sleep (in
+seconds) before checking the status of a service again, the hostname of the
+spong server, and the port number that the spong server listens
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_DEFAULT_">$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-client'}</a>
+<dd>
+This the new method for specifying the $SPONGSLEEP interval for Spong programs.
+If there is not $SPONGSLEEP{} entry for the program, it will use the
+<i>$SPONGSLEEP{'DEFAULT'}</i> value. If no value is then found, <b>spong-client</b>
+fall back to using $SPONGSLEEP.
+<dt class="POD_ITEM"><a name="_SPONGTMP">$SPONGTMP</a>
+<dd>
+The directory that Spong programs use for temporary store and work files. It
+should be different directory than <code>/tmp</code> for operation and security reasons.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_FILE">$SPONG_LOG_FILE</a>
+<dd>
+If set to <i>1</i>, <b>spong-client</b> will log errors to a log file in <i>$SPONGTMP</i>
+named <code>spong-client.log</code>.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_SYSLOG">$SPONG_LOG_SYSLOG</a>
+<dd>
+If set to <i>1</i>, <b>spong-client</b> will log errors to the syslog using the
+<i>USER</i> facility and the <b>ERR</b> priority.
+<dt class="POD_ITEM"><a name="_CHECKS">$CHECKS</a>
+<dd>
+A string that has the list of client check modules to run. If <i>$CHECKS</i> is
+missed or blank, spong-client defaults to &quot;disk cpu processes logs&quot;.  If the
+<code>check_local()</code> function is present then 'local' is appended.
+<dt class="POD_ITEM"><a name="_CPUWARN_CPUCRIT">$CPUWARN, $CPUCRIT</a>
+<dd>
+A number indicating the CPU load that triggers a problem (<i>$CPUWARN</i>
+triggers warnings - yellow, and <i>$CPUCRIT</i> triggers alerts - red).
+<dt class="POD_ITEM"><a name="_PROCSWARN_PROCSCRIT">@PROCSWARN, @PROCSCRIT</a>
+<dd>
+A list of processes that should be running, if they are not running, then
+trigger a problem (processes in <i>@PROCSWARN</i> trigger a warning - yellow, and
+processes in <i>@PROCSCRIT</i> trigger an alert - red).
+<dt class="POD_ITEM"><a name="_LOGCHECKS">$LOGCHECKS</a>
+<dd>
+A list of hashes which defined checks to apply to log files. Each hash
+contains the fields:
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="logfile">logfile</a>
+<dd>
+which is the full path to the log file to check
+<dt class="POD_ITEM"><a name="checks">checks</a>
+<dd>
+a list of check to apply to the log file.
+</dl>
+<p class="POD_TEXT">
+Each check is a hash that contains the fields:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="pattern">pattern</a>
+<dd>
+a Perl regular expression to be scanned for
+<dt class="POD_ITEM"><a name="status">status</a>
+<dd>
+the status color to reported lines matching pattern
+<dt class="POD_ITEM"><a name="duration">duration</a>
+<dd>
+the duration (in seconds) that each event is to be reported to the server
+<dt class="POD_ITEM"><a name="text">text</a>
+<dd>
+a string which is the the text to be reported
+back in the detailed message field of the status report (which can include
+match position variables from <i>pattern</i>)
+<dt class="POD_ITEM"><a name="id">id</a>
+<dd>
+an optional key field to associated with each event generated. The default
+key is the evaluated <i>text</i> field. An id key may be specified for the
+for a check pattern. All hits of the pattern will be consolidated into one
+event. The data of the last hit will be reported in the event.
+</dl>
+<dt class="POD_ITEM"><a name="_DF_UPTIME_PS_GREP">$DF, $UPTIME, $PS, $GREP</a>
+<dd>
+These variables are OS specific variables, which are hopefully set
+correctly for your machine, if they are not - please send me email letting
+me know what OS you are running on, and what the correct value should be.
+</dl>
+<p></p>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>spong.conf</code>, <code>spong.conf.[hostname]</code>
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+        spong-client --debug 5 --nosleep
+        spong-client --debug 5
+        spong-client --restart
+</pre>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+None know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, <code>spong.conf</code>, <code>client-modules</code>, the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:02 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-intro.html b/www/docs/spong-intro.html
new file mode 100644 (file)
index 0000000..a2a9038
--- /dev/null
@@ -0,0 +1,485 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-intro</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-message.html">Next:<br>spong-message</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-client-mod-template.html">Previous:<br>spong-client-mod-template</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-intro</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#Availability">Availability</a>
+<li><a class="POD_NAVLINK" href="#SUPPORT">SUPPORT</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCES">DEPENDENCES</a>
+<li><a class="POD_NAVLINK" href="#DOCUMENTATION">DOCUMENTATION</a>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#LICENSING">LICENSING</a>
+<li><a class="POD_NAVLINK" href="#CHANGES">CHANGES</a>
+<li><a class="POD_NAVLINK" href="#ACKNOWLEDGMENTS">ACKNOWLEDGMENTS</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#By_Ed_Hill">By Ed Hill</a>
+<li><a class="POD_NAVLINK" href="#by_Stephen_L_Johnson">by Stephen L Johnson</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Known_Problems_in_v2">Known Problems in v2.6</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+Simple System/Network Monitoring - spong v2.0
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This is a <b>simple</b> systems and network monitoring package called <b>Spong</b>. It
+has the following features:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+client based monitoring (CPU, disk, processes, logs, etc...)
+</p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+monitoring of network services (smtp, http, ping, pop, dns, etc...)
+</p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+grouping of hosts (routers, servers, workstations, PCs)
+</p>
+<li class="POD_ITEM"><a name="_3"></a>
+<p class="POD_TEXT">
+rules based messaging when problems occur
+</p>
+<li class="POD_ITEM"><a name="_4"></a>
+<p class="POD_TEXT">
+configurable on a host by host basis
+</p>
+<li class="POD_ITEM"><a name="_5"></a>
+<p class="POD_TEXT">
+results displayed via text or web based interface
+</p>
+<li class="POD_ITEM"><a name="_6"></a>
+<p class="POD_TEXT">
+history of problems
+</p>
+<li class="POD_ITEM"><a name="_7"></a>
+<p class="POD_TEXT">
+verbose information to help diagnosis problems
+</p>
+<li class="POD_ITEM"><a name="_8"></a>
+<p class="POD_TEXT">
+easily expandable via a plug-in module facility
+</p>
+</ul>
+<p></p>
+<p class="POD_TEXT">
+This is hopefully a <i>simple</i> 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).
+</p>
+<p class="POD_TEXT">
+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:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_9"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong.html">spong</a>
+</p>
+<p class="POD_TEXT">
+Text based query program, reports information about hosts that are
+monitored.
+</p>
+<li class="POD_ITEM"><a name="_10"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="www-spong.html">www-spong</a>
+</p>
+<p class="POD_TEXT">
+Web based query program, reports information about host that are monitored.
+</p>
+<li class="POD_ITEM"><a name="_11"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-client.html">spong-client</a>
+</p>
+<p class="POD_TEXT">
+Program that runs on each monitored server. Reports host based information
+(disk, cpu, logs, etc.)
+</p>
+<li class="POD_ITEM"><a name="_12"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-network.html">spong-network</a>
+</p>
+<p class="POD_TEXT">
+Reports on network based services (smtp, ping, http, etc.)
+</p>
+<li class="POD_ITEM"><a name="_13"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-server.html">spong-server</a>
+</p>
+<p class="POD_TEXT">
+Collects information reported and responds to queries about that information.
+</p>
+<li class="POD_ITEM"><a name="_14"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spong-message.html">spong-message</a>
+</p>
+<p class="POD_TEXT">
+Called by the <b>spong-server</b> program to send out notifications when 
+problems occur.
+</p>
+</ul>
+<h2 class="POD_HEAD1"><a name="Availability">Availability</a></h2>
+<p class="POD_TEXT">
+Spong's Home Page is at <code>http://spong.sourceforge.net/</code>.
+</p>
+<p class="POD_TEXT">
+Perl is require to run spong. If you don't have Perl installed you can retrieve
+it from the CPAN archive <code>http://www.cpan.org/CPAN/</code>, 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
+<code>http://www.perl.com/CPAN/src/latest.tar.gz</code>
+</p>
+<p class="POD_TEXT">
+You can retrieve the latest version of Spong from the Spong project at Source 
+Forge. The 'Downloads' web is at <code>http://spong.sourceforge.net/downloads.html</code>.
+This distribution contain the spong source, documentation, and gif images.
+</p>
+<h2 class="POD_HEAD1"><a name="SUPPORT">SUPPORT</a></h2>
+<p class="POD_TEXT">
+There are two mailings setup for Spong: spong-users and spong-announce.
+</p>
+<p class="POD_TEXT">
+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 <code>http://lists.sourceforge.net/mailman/listinfo/spong-users</code>.
+</p>
+<p></p>
+<p class="POD_TEXT">
+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 <code>http://lists.sourceforge.net/mailman/listinfo/spong-announce</code>.
+</p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCES">DEPENDENCES</a></h2>
+<p class="POD_TEXT">
+Perl v5.004 or greater is all that is required to set up <b>Spong</b>. 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.
+</p>
+<p class="POD_TEXT">
+These scripts should run on any Unix system (and to ``some'' degree
+any environment where Perl is available).
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="DOCUMENTATION">DOCUMENTATION</a></h2>
+<p class="POD_TEXT">
+Don't let the amount of documentation scare you, I still think <b>Spong</b> is
+simple to setup and use.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+There are four main documents that describe spong from different
+perspectives.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_15"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="spongfaq.html">FAQ</a>
+</p>
+<p class="POD_TEXT">
+Frequently Asked Questions by users and their answers.
+</p>
+<li class="POD_ITEM"><a name="_16"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="user-guide.html">User-Guide</a>
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<li class="POD_ITEM"><a name="_17"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="admin-guide.html">Administrator's Guide</a>
+</p>
+<p class="POD_TEXT">
+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 <b>Spong</b> can do that you might
+not have thought of.
+</p>
+<li class="POD_ITEM"><a name="_18"></a>
+<p class="POD_TEXT">
+<a class="POD_LINK" href="developer-guide.html">Developer's Guide</a>
+</p>
+<p class="POD_TEXT">
+Written for the person who wants to have <b>Spong</b> 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 <b>Spong</b> internals, and
+describes the various protocols that are used.
+</p>
+</ul>
+<p class="POD_TEXT">
+There are also specific &quot;man&quot; 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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+config:
+</p>
+<p class="POD_TEXT">
+spong.conf distributed config file
+</p>
+<p class="POD_TEXT">
+spong.conf.&lt;os&gt;  os specific config changes
+</p>
+<p class="POD_TEXT">
+spong.hosts  host/service config file
+</p>
+<p class="POD_TEXT">
+spong.groups   group config file
+</p>
+<p class="POD_TEXT">
+src:
+</p>
+<p class="POD_TEXT">
+spong.pl   text based spong display client
+</p>
+<p class="POD_TEXT">
+spong-client.pl   collects/reports cpu,disk,etc info
+</p>
+<p class="POD_TEXT">
+spong-network.pl   collects/reports network service info
+</p>
+<p class="POD_TEXT">
+spong-server.pl   listens for/saves spong status updates
+</p>
+<p class="POD_TEXT">
+spong-message.pl    alerts humans there's a problem
+</p>
+<p class="POD_TEXT">
+spong-ack.pl    text based acknowledgement program
+</p>
+<p class="POD_TEXT">
+www-spong.pl   web based spong display client
+</p>
+<p class="POD_TEXT">
+www-spong-ack.pl   web based acknowledgement program
+</p>
+<p class="POD_TEXT">
+docs:
+</p>
+<p class="POD_TEXT">
+&lt;*&gt;.html   documentation for the above files
+</p>
+<p class="POD_TEXT">
+gifs:   various icons used by www-spong
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="LICENSING">LICENSING</a></h2>
+<p class="POD_TEXT">
+Copyright 1999,200, Stephen L Johnson
+</p>
+<p class="POD_TEXT">
+Like Perl, <b>Spong</b> 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
+&lt;<code>sjohnson@monsters.org</code>, and I will mail you a copy.
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="CHANGES">CHANGES</a></h2>
+<p class="POD_TEXT">
+The list of changes for the latest version of <b>Spong</b> can be found 
+at <i>http://spong.sourceforge.net/documentation/CHANGES</i>.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Version_2_7">Version 2.7</a>
+<dd>
+Enhanced error logging to log file, syslog, and stderr added to all programs.
+Command line paramters are now handle by Getopts::Long perl module to
+consistancy. Debugging output levels can now be specifie in all programs. Date
+and Time displays are now configurable using strftime() format strings.
+<p class="POD_TEXT">
+Spong Server network code changed from single threaded to forking.  Status
+information for for entries in the History file are now stored. Command line
+program for sending status message in scripts or programs added.
+</p>
+<p class="POD_TEXT">
+Change to the Web interface include displaying Hosts grouped by Host Group,
+option static Title frame, configuration toolbars added to multiple displays.
+The Spong Network checking program now has a more agressive, and configurable,
+error checking routine. Message templates has been added into the Spong Message
+notification program. And an alpha WAP interface has been added.
+</p>
+<dt class="POD_ITEM"><a name="Version_2_6">Version 2.6</a>
+<dd>
+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.
+<dt class="POD_ITEM"><a name="Version_2_5">Version 2.5</a>
+<dd>
+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.
+<dt class="POD_ITEM"><a name="Version_2_0">Version 2.0</a>
+<dd>
+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.
+<p></p>
+<dt class="POD_ITEM"><a name="Version_1_1">Version 1.1</a>
+<dd>
+Primarily a bug fix release with a few minor features (dns,http config,multiple
+interfaces) added.
+<dt class="POD_ITEM"><a name="Version_1_0">Version 1.0</a>
+<dd>
+Initial public release, mostly based on Big Brother package from Sean MacGuire.
+</dl>
+<p></p>
+<h2 class="POD_HEAD1"><a name="ACKNOWLEDGMENTS">ACKNOWLEDGMENTS</a></h2>
+<h3 class="POD_HEAD2"><a name="By_Ed_Hill">By Ed Hill</a></h3>
+<p class="POD_TEXT">
+Many ideas (and some code) came from two similar packages. We have used
+a program call &quot;Pong&quot; 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 &quot;spong&quot;) is an obvious rip off...
+</p>
+<p class="POD_TEXT">
+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.).
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<h3 class="POD_HEAD2"><a name="by_Stephen_L_Johnson">by Stephen L Johnson</a></h3>
+<p class="POD_TEXT">
+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
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<p class="POD_TEXT">
+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.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<h3 class="POD_HEAD2"><a name="Known_Problems_in_v2">Known Problems in v2.6</a></h3>
+<p class="POD_TEXT">
+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.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Memory_leak_in_spong">Memory leak in spong-network on RedHat 6.0</a>
+<dd>
+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.
+</dl>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ported by:
+</p>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;
+Internet Software Developer at The University of Iowa  <code>http://www.uiowa.edu/</code>
+</p>
+<p class="POD_TEXT">
+Currently maintained by:
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<p class="POD_TEXT">
+Please feel free to send me bug reports, patches, suggestions, or comments.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:02 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-message-mod-template.html b/www/docs/spong-message-mod-template.html
new file mode 100755 (executable)
index 0000000..2990e0c
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-message-mod-template</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-network.html">Next:<br>spong-network</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-message.html">Previous:<br>spong-message</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-message-mod-template</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spong-message-mod-template - how to build spong message template
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p></p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:03 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-message.html b/www/docs/spong-message.html
new file mode 100755 (executable)
index 0000000..23194d8
--- /dev/null
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-message</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-message-mod-template.html">Next:<br>spong-message-mod-template</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-intro.html">Previous:<br>spong-intro</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-message</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Options">Options</a>
+<li><a class="POD_NAVLINK" href="#Theory_of_Operation">Theory of Operation</a>
+<li><a class="POD_NAVLINK" href="#Message_Templates">Message Templates</a>
+<li><a class="POD_NAVLINK" href="#Messaging_Modules">Messaging Modules</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIE_h1">DEPENDENCIE/h1</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-message</b> - send out alerts when there is a problem
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-message</b> [<b>--debug</b>] [<b>--file</b> <i>filename</i> | <b>--message</b> <i>&quot;detailed
+message text&quot;</i>] <i>color</i> <i>host</i> <i>service</i> <i>time</i> <i>message</i>
+</p>
+<p class="POD_TEXT">
+<b>spong-message</b> [<b>--debug</b>] <b>--color|--status</b> <i>color</i> <b>--host</b>
+<i>hostname</i> <b>--service</b> <i>service</i> <b>--time</b> <i>time</i> <b>--summary</b> <i>&quot;summary
+message text&quot;</i> [<b>--file</b> <i>filename</i> | <b>--message</b> <i>&quot;detailed message
+text&quot;</i>]
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This program is called by the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage to send out alerts.  The
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage only makes a quick determination for send out alerts. It's only
+criteria is a change in status of a service. The <b>spong-message</b> make a more
+thorough determination of transmitting the alerts according to the message
+rules defined in the the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage configuration file. <b>spong-message</b>
+also has throttling mechanisms to prevent an excessive number of messages from
+being send within a short amount of time.
+</p>
+<h3 class="POD_HEAD2"><a name="Options">Options</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_debug"><b>--debug</b></a>
+<dd>
+Enables the printing of detailed debugging lines. Can be used in conjunction
+with <b>--test</b> to test new messaging rules.
+<dt class="POD_ITEM"><a name="_color_status_color"><b>--color|--status</b> <i>color</i></a>
+<dd>
+Specified the status color of the event being reported. <i>color</i> can be
+green, yellow or red.
+<dt class="POD_ITEM"><a name="_host_hostname"><b>--host</b> <i>hostname</i></a>
+<dd>
+The hostname of the server that is being reported on.
+<dt class="POD_ITEM"><a name="_service_service"><b>--service</b> <i>service</i></a>
+<dd>
+The name of the service that is being reported on.
+<dt class="POD_ITEM"><a name="_time_time"><b>--time</b> <i>time</i></a>
+<dd>
+The time of the event being reported in epoch format (i.e. time()).
+<dt class="POD_ITEM"><a name="_summary_summary_tex"><b>--summary</b> <i>&quot;summary text&quot;</i></a>
+<dd>
+This is the summary message field of the event being reported on.
+<dt class="POD_ITEM"><a name="_file_filename"><b>--file</b> <i>filename</i></a>
+<dd>
+The name of a file to read the detailed message text from. If the <i>filename</i> is '-', the text is read from stdin.
+<dt class="POD_ITEM"><a name="_message_message_tex"><b>--message</b> <i>&quot;message text&quot;</i></a>
+<dd>
+Detailed message text of the event being reported.
+</dl>
+<p class="POD_TEXT">
+The following parameters can be specified on the command line with the
+accompanying command line parameters.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="color">color</a>
+<dd>
+the status color of the message (<b>red</b>, <b>yellow</b>, or <b>green</b>)
+<dt class="POD_ITEM"><a name="host">host</a>
+<dd>
+the hostname being of the alert
+<dt class="POD_ITEM"><a name="service">service</a>
+<dd>
+the name of the service of the alert
+<dt class="POD_ITEM"><a name="time">time</a>
+<dd>
+the date/time (in time() format) of the problem
+<dt class="POD_ITEM"><a name="message">message</a>
+<dd>
+a summary line of the problem
+</dl>
+<h3 class="POD_HEAD2"><a name="Theory_of_Operation">Theory of Operation</a></h3>
+<p class="POD_TEXT">
+When <b>spong-message</b> is called, the information passed in the arguments is run
+through a list of rules which determine who is contacted, when they are
+contacted and how often. The information is also run through a number of checks
+to determine if the message should be sent.
+</p>
+<p class="POD_TEXT">
+A small database in the <a class="POD_LINK" href="spong.conf.html#_SPONGTMP">$SPONGTMP</a> directory is kept
+so that <b>spong-message</b> can keep track how many pages have been sent, when
+was the last page sent, etc. These checks help to direct problems to the
+correct people, and also help to throttle messages when there are wide-spread
+problems (such as a networking outage).
+</p>
+<p class="POD_TEXT">
+If you are going to be performing maintenance on a machine, or have standard
+down time for a machine, you can specify that down time in the spong.hosts file
+using the <a class="POD_LINK" href="spong.hosts.html#down_down_service">down</a> attribute in a
+<a class="POD_LINK" href="spong.hosts.html#_HOSTS">%HOSTS</a> variable. If a problem is reported during the
+time indicated, <b>spong-message</b> will not send any messages.
+</p>
+<p class="POD_TEXT">
+<b>spong-message</b> also checks for any <a class="POD_LINK" href="spong-ack.html">acknowledgements</a> active for
+a machine. If there an active acknowledgement found for a machine and service,
+no messages will be sent.
+</p>
+<p class="POD_TEXT">
+<b>spong-message</b> uses the <a class="POD_LINK" href="spong.hosts.html#_HUMANS">%HUMANS</a> entries defined in
+the <a class="POD_LINK" href="spong.message.html#contacts">contacts</a> attributes of the messaging rules of
+the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage to determine who is to be contacted. A list of contacts is
+generated from all of the message rules that are matched. (See the
+the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage and the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage documentation for information on the file
+formats.)
+</p>
+<h3 class="POD_HEAD2"><a name="Message_Templates">Message Templates</a></h3>
+<p class="POD_TEXT">
+Notification messages are formatted by message templates in the %TEMPLATES 
+configuration variable in the <code>spong.message</code> file. The 'DEFAULT' template
+is use is no other template is found. Templates override can be defined for any
+contact, message module, or a combination of the two. See
+the section on <a class="POD_LINK" href="spong.message.html#MESSAGE_TEMPLATES">MESSAGE TEMPLATES</a> in the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage for information on the file format.
+</p>
+<h3 class="POD_HEAD2"><a name="Messaging_Modules">Messaging Modules</a></h3>
+<p class="POD_TEXT">
+<b>spong-message</b> alerts people via the messaging modules that are installed.
+New messaging functions can be easily created.  See the <a class="POD_LINK" href="developer-guide.html#MESSAGE_MODULES">Message Modules</a> section in the <i>Developer Guide</i>.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_hosts">spong.hosts</a>
+<dd>
+<code>spong.hosts</code> defined attributes for two things of important to &lt;spong-message&gt;
+1) the hosts that <b>Spong</b> is monitoring (<i>%HOSTS</i>), and 2) the contacts that
+are responsible for the various hosts and how to contact them (<i>%HUMANS</i>).
+<p class="POD_TEXT">
+See the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage for a full description of all of the file formats.
+</p>
+<dt class="POD_ITEM"><a name="spong_message">spong.message</a>
+<dd>
+This file hold the rules that determine who is to be contacted, when and how
+often. There are some of the important configuration variables in the
+<code>spong.message</code> file 1) how the messaging rules are to be scanned 
+(<a class="POD_LINK" href="spong.message.html#_RULES_MATCH">$RULES_MATCH</a>), 2) the messaging rules
+(<a class="POD_LINK" href="spong.message.html#_MESSAGING_RULES">$MESSAGING_RULES</a>), 3) how to format the
+messages being sent (<a class="POD_LINK" href="spong.message.html">%TEMPLATES</a>).
+</dl>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<p class="POD_TEXT">
+From <code>spong.hosts</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_HUMANS">%HUMANS</a>
+<dd>
+The <i>%HUMANS</i> configuration variable hold all of possible message recipients
+(the humans) and the information necessary on how to contact them.  Each
+<i>human</i> contact can be a person, a group of people, or really anything you
+want.
+<p class="POD_TEXT">
+Each <i>human</i> that is defined should have <i>name</i> attribute associated
+with it. <i>name</i> is the name or description of the contact.
+</p>
+<p class="POD_TEXT">
+To send out any notifications at least messaging attribute must be
+define for the human. A messaging attribute consists of a message module
+name as a key and contact information as a value. See the section on <a class="POD_LINK" href="#EXAMPLES">EXAMPLES</a> elsewhere in this document for a
+detailed <i>%HUMANS</i> example.
+</p>
+<dt class="POD_ITEM"><a name="_HOSTS">%HOSTS</a>
+<dd>
+The <i>%HOSTS</i> configuration variables can hold a list of regularly scheduled
+maintenance periods (<i>down</i>) for each host. Any alerts that are generated
+during a maintenance period will be silently discarded.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.message</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_RULES_MATCH">$RULES_MATCH</a>
+<dd>
+<a class="POD_LINK" href="spong.message.html#_RULES_MATCH">$RULES_MATCH</a> determines how the rules in
+<a class="POD_LINK" href="spong.message.html#_MESSAGING_RULES">$MESSAGING_RULES</a> are scanned.  If it is
+<i>FIRST_MATCH</i> the rules will be scanned until the first rule that matches the
+messaging criteria. A value of <i>ALL</i> means that all of the rules are scan with
+the contacts of all matching rules being adding into the list of contacts to
+notify. If the value is <i>OLD</i>, then spong-message will fall back to the
+messaging code used in Spong versions 2.0 - 2.1 for compatibility.
+<dt class="POD_ITEM"><a name="_MESSAGING_RULES">$MESSAGING_RULES</a>
+<dd>
+<a class="POD_LINK" href="spong.message.html#_MESSAGING_RULES">$MESSAGING_RULES</a> contains the rules that
+how, who and how often contacts are notified. See
+<a class="POD_LINK" href="spong.message.html#_MESSAGING_RULES">$MESSAGING_RULES</a> for the full rules syntax.
+<dt class="POD_ITEM"><a name="_TEMPLATES">%TEMPLATES</a>
+<dd>
+<code>%TEMPLATES</code> determined how notification message are formatted. A template
+format consists a subject and message template strings. Both strings are not
+required as some message module will not require a subject or a body. See
+<a class="POD_LINK" href="spong.message.html#_MESSAGING_RULES">$MESSAGING_RULES</a> for the full rules syntax.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.conf</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SEND_MESSAGE">$SEND_MESSAGE</a>
+<dd>
+<a class="POD_LINK" href="spong.conf.html#_SEND_MESSAGE">$SEND_MESSAGE</a>
+defines when spong-message is called by spong-server. It is not really
+specific to spong-message, but I think it is useful to describe its behavior
+here. This variable can contain one of four valid values. If it is <i>RED</i>,
+then <b>spong-message</b> is called for every time a system or service
+reports a problem. If its value is <i>CHANGE</i>, then <b>spong-message</b> is only
+called when there is a change of state . If this values is <i>RED-CHANGE</i>, then
+<b>spong-message</b> is called every time a service or service reports a problem and
+when the condition is cleared. (going from green/yellow to red, and then again
+going from red to green/yellow). If its value is <i>NONE</i>, then <b>spong-message</b>
+is never called.
+<dt class="POD_ITEM"><a name="_MESSAGES_PER_HOUR">$MESSAGES_PER_HOUR</a>
+<dd>
+<a class="POD_LINK" href="spong.conf.html#_MESSAGES_PER_HOUR">$MESSAGES_PER_HOUR</a> is the maximum number of
+messages that are sent to the same person in an hour. All message past this
+number are just logged to the history file, but are not sent. This helps to
+prevent against message overload such as when you have a networking problem,
+and everything appears to go red at once. The default value is 5.
+<dt class="POD_ITEM"><a name="_IDENT_MESSAGES_PER_">$IDENT_MESSAGES_PER_HOUR</a>
+<dd>
+<a class="POD_LINK" href="spong.conf.html#_IDENT_MESSAGES_PER_">$IDENT_MESSAGES_PER_HOUR</a> is the
+maximum number of identical messages that are sent to the same person in an
+hour. The default value is 3.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>spong.conf</code>, 
+<code>spong.hosts</code>,
+<code>$SPONGTMP/message-db</code>,
+<code>spong.message</code>
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<p class="POD_TEXT">
+Here are some examples to show you possible configurations.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_hosts1">spong.hosts</a>
+<dd><pre class="POD_VERBATIM">
+   %HUMANS = (
+      'unix-staff' =&gt; { 'name'   =&gt; 'Midrange On-call Staff',
+                        'email'  =&gt; 'its-unix@school.edu'
+                       },
+
+      'georgew'    =&gt; { 'name'   =&gt; 'George Wilson',
+                        'email'  =&gt; 'georgew@school.edu',
+                        'skytel' =&gt; '1234567' }, 
+   );
+
+   %HOSTS = (
+
+     'grad.cs.school.edu' =&gt;      { services =&gt; 'ftp smtp http',
+                                   'down'   =&gt; [&quot;*:05:30-06:30&quot;,
+                                                 &quot;0:00:00-04:00&quot; ] },
+
+     'www.school.edu' =&gt;         { services =&gt; 'ftp smtp http' },
+
+   );
+</pre>
+<p></p>
+<dt class="POD_ITEM"><a name="spong_message1">spong.message</a>
+<dd><pre class="POD_VERBATIM">
+    $RULES_MATCH = 'FIRST-MATCH';
+
+    $MESSAGING_RULES = [
+
+       { hosts =&gt; [ 'gard.cs.school.edu' ],
+         contacts =&gt; [ 'unix-staff'],
+         exclude_colors =&gt; ['green','yellow'],
+       },
+
+       { hosts =&gt; ['www.school.edu'],
+         contacts =&gt; [ 'georgew:email',
+                       { rcpt=&gt;'georgew:skytel', repeat=&gt;900, }, ]
+       },
+
+    ];
+
+    %TEMPLATES = (
+
+      'DEFAULT' =&gt; { subject =&gt; 'spong - !!COLOR!! !!HOST!! !!SERVICE!!',
+                     body    =&gt;
+    '!!DATETIME!!
+    !!COLOR!! !!HOST!! !!SERVICE!!
+    !!SUMMARY!!',
+                   },
+
+    'email'  =&gt; { subject =&gt; 'spong - !!COLOR!! !!HOST!! !!SERVICE!!',
+                  body    =&gt;
+    'Host !!HOST!! service has been reported !!COLOR!!.
+    Summary: !!SUMMARY!!
+
+    Spong Web Page:      !!WWWSPONG!!
+    Service Detail Page: !!WWWSPONG!!/service/!!HOST!!/!!SERVICE!!
+
+    Status event details:
+    !!DETAILED!!
+    ',
+              },
+    );
+</pre>
+</dl>
+<p></p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIE_h1">DEPENDENCIE/h1</a></h2>
+
+Perl v5.003 or greater is required.
+<p class="POD_TEXT">
+To receive pages, you currently must have a pager that can be contacted
+electronically (via email or web interface).
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+No know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage,
+the <a class="POD_LINK" href="spong-message-mod-template.html">spong-message-mod-template</a> manpage, the <u>strftime</u>(3) manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:03 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-network-mod-template.html b/www/docs/spong-network-mod-template.html
new file mode 100755 (executable)
index 0000000..d5cf7bd
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-network-mod-template</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-server.html">Next:<br>spong-server</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-network.html">Previous:<br>spong-network</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-network-mod-template</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spong-network-mod-template - A sample spong-network check module
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This document describes a sample plug-in module for the <b>spong-network</b>
+program. Any modules that you create can be custom network checks, or they
+can be replacements for the core Spong modules.
+</p>
+<p class="POD_TEXT">
+This template assumes that you are creating a network check called
+'dns'. The name of the file created should be 'check_dns'. The file name
+should always be 'check_' plus the registry name (e.g. for the foo check,
+the registry name is 'foo' and the file name is 'check_foo'.
+</p>
+<p class="POD_TEXT">
+The line that has the assignment to $PLUGINS{'registry-name'} is the
+key to the registry mechanism. It's what ties the registry name to the
+the checking function.
+</p>
+<p class="POD_TEXT">
+The registry name does not always have to match up to the service name as in
+the case of our module 'dns'. If you where creating a new and improved function
+to ping and traceroute, you could create a module called 'ping_trace'.  You
+would use the registry name 'ping_trace', but you would use the service name
+'ping' in the <code>&amp;main::status()</code> function when reporting your information
+back to the server.
+</p>
+<pre class="POD_TEXT">
+check_dns:
+
+  # Register the routine with the plugin registry
+  $PLUGINS{'dns'} = \&amp;check_dns;
+
+  # Check to see if they have the Net::DNS module installed, and if they do we
+  # can then do DNS queries, and see if DNS servers are alive.
+
+  eval &quot;require Net::DNS;&quot;;
+  if( ! $@ ) { $dns = 1; } else { $dns = 0; }
+
+  # This check will (if the Net::DNS module is available) connect to a DNS
+  # server and ask that server to resolve it's own name. If it can do that,
+  # then we assume it is ok - If it can't then something is wrong.
+
+  sub check_dns {
+      my( $host ) = @_;
+      my( $color, $summary, $message ) = ( &quot;green&quot;, &quot;&quot;, &quot;&quot; );
+
+      if( ! $dns ) {
+         $summary = &quot;can't do DNS lookups, Net::DNS not installed&quot;;
+         &amp;main::debug( &quot;dns - $host - $color, $summary&quot; );
+         return ( &quot;yellow&quot;, $summary,
+         &quot;In order to do DNS queries you must install the Net::DNS &quot; .
+         &quot;Perl module.\nYou can find the module at your nearest CPAN &quot; .
+         &quot;archive or http://www.perl.com/CPAN/\n&quot; )
+      }
+
+      my $resolver = new Net::DNS::Resolver;
+      $resolver-&gt;nameservers( $host );
+      $resolver-&gt;retrans(2);
+      $resolver-&gt;retry(1);
+      $resolver-&gt;recurse(0);
+      my $q = $resolver-&gt;search( $host, &quot;A&quot; );
+
+      if( defined $q &amp;&amp; defined $q-&gt;answer &amp;&amp; defined (($q-&gt;answer)[0]) ) {
+          $color = &quot;green&quot;;
+          $summary = &quot;dns ok&quot;;
+      } else {
+         $color = &quot;red&quot;;
+         $summary = &quot;can't resolve $host&quot;;
+         $message = &quot;can't resolve $host\n&quot;;
+      }
+
+      &amp;main::debug( &quot;dns - $host - $color, $summary&quot; );
+      return( $color, $summary, $message );
+  }
+
+  # I'm included perl code, I need this line.
+  1;
+</pre>
+<p class="POD_TEXT">
+Please note the final line. It is always required for a module file.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage, the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:04 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-network.html b/www/docs/spong-network.html
new file mode 100755 (executable)
index 0000000..4c5a846
--- /dev/null
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-network</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-network-mod-template.html">Next:<br>spong-network-mod-template</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-message-mod-template.html">Previous:<br>spong-message-mod-template</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-network</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Running_the_program">Running the program</a>
+<li><a class="POD_NAVLINK" href="#Format_of_update_mes">Format of update messages</a>
+<li><a class="POD_NAVLINK" href="#Network_Checks">Network Checks</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-network</b> - report network service information to spong server.
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-network</b> [<b>--debug</b> <i>n</i>] [<b>--kill|--restart|--nosleep|--refresh</b>] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<code>config_file</code>]
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This checks network connectivity and network service availability to various
+machines you want to monitor.  It reports the status of the network services
+that it monitors to the spong server.  Everything happens again after sleeping
+for a time period you have defined in your configuration file. This program
+typically runs on your spong server machine (although it can be run on any host
+- although I would suggest one with good network connectivity).
+</p>
+<p class="POD_TEXT">
+The program checks a series of network services that are configured separately
+for each host. <b>spong-network</b> also can be very aggressive in checking for 
+network service that are down. You can configure multiple rechecks to guard
+against transitional failures.
+</p>
+<h3 class="POD_HEAD2"><a name="Running_the_program">Running the program</a></h3>
+<p class="POD_TEXT">
+You should start this program in your system startup file, and it should be
+running constantly. If no parameters are specified, <b>spong-network</b> forks
+and detaches itself to run as a daemon.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--debug</b> <i>n</i> flag, then debugging information will be
+printed to stdout, otherwise output will only be produced if there is a
+problem. Where <i>n</i> is a number from 1 - 9. A higher number means more
+verbosity in the debugging output.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--restart</b> flag, a signal will be sent to the <b>spong-network</b>
+process that is currently running that will cause it to reload it's
+configuration files. If you provide the <b>--kill</b> flag, a signal will be sent
+to the running spong-client process causing it to exit.
+</p>
+<p class="POD_TEXT">
+The <b>--nosleep</b> or <b>--refresh</b> flag causes the program to cycle through all
+of the checks once then exit.  These flags can be used to run spong-client as a
+cron job (<b>depreciated</b>), but it recommended that you run the program
+continuously.
+</p>
+<p></p>
+<h3 class="POD_HEAD2"><a name="Format_of_update_mes">Format of update messages</a></h3>
+<p class="POD_TEXT">
+It sends a message for each check to the spong server and reports the
+following:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="hostname_where_is_th"><p>hostname (where is this report coming from)</p></a>
+<li class="POD_ITEM"><a name="service_name_disk_cp"><p>service name (&quot;disk&quot;, &quot;cpu&quot;, &quot;procs&quot;, &quot;logs&quot;, &quot;local&quot;)</p></a>
+<li class="POD_ITEM"><a name="color_red_yellow_gre"><p>color (&quot;red&quot;, &quot;yellow&quot;, &quot;green&quot;)</p></a>
+<li class="POD_ITEM"><a name="a_one_line_summary"><p>a one line summary</p></a>
+<li class="POD_ITEM"><a name="a_more_detailed_mess"><p>a more detailed message providing additional detail.</p></a>
+</ul>
+<p class="POD_TEXT">
+The color is determined by comparing the current status of that
+service against thresholds defined in the configuration file. If
+they are greater then the level you have defined for a warning, then the color
+is yellow. If they are greater then the critical level you have defined then
+the color is red.
+</p>
+<p class="POD_TEXT">
+The one line summary provides information that might be useful at a glance when
+looking at the overall system status (such as a brief report on the load,
+number of users, and uptime).
+</p>
+<p class="POD_TEXT">
+The more detailed message contains information such as the output of
+the ping command from the check ping module or the data read after testing
+a network service.
+</p>
+<h3 class="POD_HEAD2"><a name="Network_Checks">Network Checks</a></h3>
+<p class="POD_TEXT">
+The check are actually a setup of modules that are called in series by
+<b>spong-network</b>. Upon initialization, <b>spong-network</b> will load the all of
+the modules that will be used from the <code>LIBDIR/Spong/Network/plugins</code>
+directory.  As each module is initialized, it registers itself with the plugins
+registry (see the <a class="POD_LINK" href="developer-guide.html">Developer Guide</a>).
+</p>
+<p class="POD_TEXT">
+The list of network checks and the order the are performed that are performed
+for a host are defined in the <i>services</i> attribute of the host's entry in the
+<a class="POD_LINK" href="spong.hosts.html#_HOSTS">%HOST</a> variable. The <i>ping</i> service is appended by
+default to all of the lists of services to be check for a host.  If the
+meta-service name of <i>noping</i> is defined for a host, the ping check will no be
+done for the host.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_conf">spong.conf</a>
+<dd>
+By default this reads the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> file 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.
+<dt class="POD_ITEM"><a name="spong_conf_hostname_">spong.conf.[hostname]</a>
+<dd>
+After reading the configuration file that you specify (or the default),
+it then reads the <code>spong.conf.[hostname]</code> file where [hostname] 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.
+<dt class="POD_ITEM"><a name="spong_hosts">spong.hosts</a>
+<dd>
+<b>spong-network</b> reads all of the host that are to be check from the
+<a class="POD_LINK" href="spong.hosts.html#_HOSTS">%HOSTS</a> variable in the the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage file. The
+list of services to be check for each host is already read from <code>spong.hosts</code>.
+</dl>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<p class="POD_TEXT">
+From <code>spong.conf</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_SPONGSER">$SPONGSLEEP, $SPONGSERVER, $SPONG_UPDATE_PORT</a>
+<dd>
+Some basic spong configuration options that define how long to sleep (in
+seconds) before checking the status of a service again, the hostname of the
+spong server, and the port number that the spong server listens
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_DEFAULT_">$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-network'}</a>
+<dd>
+This the new method for specifying the $SPONGSLEEP interval for Spong programs.
+If there is not $SPONGSLEEP{} entry for the program, it will use the
+<i>$SPONGSLEEP{'DEFAULT'}</i> value. If no value is then found, <b>spong-client</b>
+fall back to using $SPONGSLEEP.
+<dt class="POD_ITEM"><a name="_SPONGTMP">$SPONGTMP</a>
+<dd>
+The directory that Spong programs use for temporary store and work files. It
+should be different a directory than <code>/tmp</code> for operation and security reasons.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_FILE">$SPONG_LOG_FILE</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to a log file in <i>$SPONGTMP</i>
+named <code>spong-network.log</code>.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_SYSLOG">$SPONG_LOG_SYSLOG</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to the syslog using the
+<i>USER</i> facility and the <i>ERR</i> priority.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.hosts</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_HOSTS">%HOSTS</a>
+<dd>
+All of the host names defined in %HOSTS are the list of hosts that
+<b>spong-network</b> will check.  The services defined in the <i>services</i> attribute
+are the list of services that will be check for each host. The <i>ping</i> service
+is prepended to the list of services unless 'noping' is defined.
+<p class="POD_TEXT">
+Another important attribute for a host is the
+<a class="POD_LINK" href="spong.hosts.html">skip_network_checks</a> flag. If this flag is
+set for a host. The <b>spong-network</b> proram will skip the check for the host.
+</p>
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>spong.conf</code>, <code>spong.conf.hostname</code>, <code>spong.hosts</code>
+</p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+The check_dns module uses the Net::DNS Perl module. On some systems the
+Net::DNS module will fail and start reporting false DNS lookup failures. The
+cause is unknown at present. This will cause dns check for all hosts to fail
+and be reported as a critical status. The fix is to restart <b>spong-network</b> 
+(i.e. <b>spong-network --restart</b> ),
+</p>
+<p class="POD_TEXT">
+A work-around is to regularly do restart <b>spong-network</b>, such as from a
+cron job.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage,
+the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<p></p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:03 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-server-mod-template.html b/www/docs/spong-server-mod-template.html
new file mode 100755 (executable)
index 0000000..89771f3
--- /dev/null
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-server-mod-template</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-status.html">Next:<br>spong-status</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-server.html">Previous:<br>spong-server</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-server-mod-template</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#Message_Formats">Message Formats</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Status_Message">Status Message</a>
+<li><a class="POD_NAVLINK" href="#Acknowledge_Message">Acknowledge Message</a>
+<li><a class="POD_NAVLINK" href="#Delete_Acknowledge_M">Delete Acknowledge Message</a>
+<li><a class="POD_NAVLINK" href="#Special_Fields">Special Fields</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#Example_Module">Example Module</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spong-server-mod-template - how to build a spong-server data modules
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The old data spong-server plugin modules are now deprecited in favor of predata
+and postdata modules. Spong Server data modules will continue to be supported
+for the future. But you are encouraged to convert any custom modules to the new
+format, and update any old data plugin to their new pre- or post-data
+equivalent.
+</p>
+<p class="POD_TEXT">
+The file name of the module must begin with 'predata_' or 'postdata_'.
+'predata_' is for a predata module. The module will be called immediately after
+an incoming message is received, but before normal processing. 'postdata_' is
+for a postdata module. The module is called after the normal processing is done
+for the message.
+</p>
+<p class="POD_TEXT">
+Modules are called in the order of their registry key in alphabetical order.
+The registry key can be anything, but it should be consistent with the
+module's name.  And the registry must be unique among the other loaded
+modules; otherwise, one module will overlay the other.
+</p>
+<p class="POD_TEXT">
+The line that has the assignment to <code>$DATAFUNCS{'registry-name'}</code> is the
+key to the registry mechanism. It's what ties the registry name to the
+your data module.
+</p>
+<h2 class="POD_HEAD1"><a name="Message_Formats">Message Formats</a></h2>
+<p class="POD_TEXT">
+The fields of messages are passed to the module in the form of a Perl hash.
+This hash is the only parameter passed to the module when it is called.
+</p>
+<h3 class="POD_HEAD2"><a name="Status_Message">Status Message</a></h3>
+<p class="POD_TEXT">
+This is the most common type of message received by the Spong Server. A status
+message reports the current status of Spong Client and Spong Network
+checks and tests.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="header"><code>header</code></a>
+<dd>
+The field contains the first line of a status message. If consists the <code>cmd</code>, 
+<code>host</code>, <code>color</code> (aka status), <code>time</code>, and <code>summary</code> fields.
+<dt class="POD_ITEM"><a name="message"><code>message</code></a>
+<dd>
+This is the detailed status message field.  It generally consists of multiple
+lines of text. This field can be quite large. Upwards of a few K is nor
+unusual.
+<dt class="POD_ITEM"><a name="cmd"><code>cmd</code></a>
+<dd>
+This is command field from the <code>header</code>. It will a contain a string with the
+value of 'status'.
+<dt class="POD_ITEM"><a name="host"><code>host</code></a>
+<dd>
+This is hostname from the status message header field. It will contain the
+name of the reporting host. if will contain a strings that will typically be
+the fully qualified domain name of the host. It is the same of the hostname
+given in the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage configuation file.
+<dt class="POD_ITEM"><a name="service"><code>service</code></a>
+<dd>
+This is the service name from the message header field. It will contain a
+string. It it the name of the service or resource that was tested. The service
+names are the column names on the Web Status screens.
+<dt class="POD_ITEM"><a name="color"><code>color</code></a>
+<dd>
+This is the status color of the test being reported. It will contain a string consisting of one of these values: 'red', 'yellow', 'green', 'purple', 'clear'. The have a meaning of: red=critical, yellow=warning, green=normal, purple=old/stale data, clear=status unknown.
+<dt class="POD_ITEM"><a name="time"><code>time</code></a>
+<dd>
+This is the timestamp of the status as given by the rporting host. If will
+consist of system time in epoch format (i.e. as reported by time() ). Epoch
+date format is the number of seconds since a given epoch. Jan 1, 1970 12:00 AM
+for UNIX based systems.
+<dt class="POD_ITEM"><a name="duration"><code>duration</code></a>
+<dd>
+The field contains the current duration that the service has been in it's
+current status (<code>color</code>). The time is given in seconds.
+<dt class="POD_ITEM"><a name="summary"><code>summary</code></a>
+<dd>
+This is summary fields from the status message. It is a short summary of the 
+current status of the services being reported.  It will be one line of test. Generally less then 40 characters (not guaranteed).
+</dl>
+<h3 class="POD_HEAD2"><a name="Acknowledge_Message">Acknowledge Message</a></h3>
+<p class="POD_TEXT">
+Acknowledge messages are generate when an acknowledgement is created. This
+message is fairly rare.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="header1"><code>header</code></a>
+<dd>
+The field contains the first line of a status message. If consists the <code>cmd</code>, 
+<code>host</code>, <code>service</code>, <code>start_time</code>, <code>end_time</code>, and <code>user</code> fields.
+<dt class="POD_ITEM"><a name="message1"><code>message</code></a>
+<dd>
+This is an information/note field. It's typically used to give the reason for
+the acknoloedgement. It generally consists of multiple lines of text. This
+field can be quite large.
+<dt class="POD_ITEM"><a name="cmd1"><code>cmd</code></a>
+<dd>
+This is command field from the <code>header</code>. It will a contain a string with the
+value of 'ack'.
+<dt class="POD_ITEM"><a name="host1"><code>host</code></a>
+<dd>
+This is hostname the acknoledgement that is being created.  It will contain a
+strings that will typically be the fully qualified domain name of the host. It
+is the same of the hostname given in the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage configuation file.
+<dt class="POD_ITEM"><a name="service1"><code>service</code></a>
+<dd>
+This field is the service(s) the acknowledgement is being created for. It will
+contain a string. It wll be a command seperated list of service names or the
+strings 'all' to represent all services.  The service names are the column
+names on the Web Status screens.
+<dt class="POD_ITEM"><a name="start_time"><code>start_time</code></a>
+<dd>
+This is the date/time of the start of the acknowledgement period.  It will
+consist of system time in epoch format (i.e. as reported by time() ). Epoch
+date format is the number of seconds since a given epoch. Jan 1, 1970 12:00 AM
+for UNIX based systems.
+<dt class="POD_ITEM"><a name="end_time"><code>end_time</code></a>
+<dd>
+This is the date/time of the end of the acknowledgement period.  It will
+consist of system time in epoch format (i.e. as reported by time() ). Epoch
+date format is the number of seconds since a given epoch. Jan 1, 1970 12:00 AM
+for UNIX based systems.
+<dt class="POD_ITEM"><a name="user"><code>user</code></a>
+<dd>
+This field gives and indication of the user who is creating the acknowledgment.
+This is just an informational field. It will consist of a string that contains
+an e-mail address (username@hostname).  This is not a hard and fast requirement. 
+=back
+</dl>
+<h3 class="POD_HEAD2"><a name="Delete_Acknowledge_M">Delete Acknowledge Message</a></h3>
+<p class="POD_TEXT">
+Delete Acknowledge messages are sent to delete an existing acknowledgement.
+This message is fairly rare.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="header2"><code>header</code></a>
+<dd>
+The field contains the first line of a status message. If consists the <code>cmd</code>, 
+<code>host</code>,  <code>service</code>, and <code>end_time</code> fields.
+<dt class="POD_ITEM"><a name="cmd2"><code>cmd</code></a>
+<dd>
+This is command field from the <code>header</code>. It will a contain a string with the
+value of 'ack'.
+<dt class="POD_ITEM"><a name="host2"><code>host</code></a>
+<dd>
+This is hostname of the acknoledgement that was created.  It will contain a
+strings that will typically be the fully qualified domain name of the host. It
+is the same of the hostname given in the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage configuation file.
+<dt class="POD_ITEM"><a name="service2"><code>service</code></a>
+<dd>
+This field is the service(s) the acknowledgement is being created for. It will
+contain a string. It wll be a command seperated list of service names or the
+strings 'all' to represent all services.  The service names are the column
+names on the Web Status screens.
+<dt class="POD_ITEM"><a name="end_time1"><code>end_time</code></a>
+<dd>
+This is the date/time of the end of the acknowledgement period.  It will
+consist of system time in epoch format (i.e. as reported by time() ). Epoch
+date format is the number of seconds since a given epoch. Jan 1, 1970 12:00 AM
+for UNIX based systems.
+</dl>
+<h3 class="POD_HEAD2"><a name="Special_Fields">Special Fields</a></h3>
+<p class="POD_TEXT">
+Predata modules add a special field/flag to the message hash before returning.
+The presence of this flag field will tell Spong Server to drop the message. The messge will be dropped and forgotten. Normal processing will not be done, and
+postdata modules will not be called.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="drop_msg"><code>drop_msg</code></a>
+<dd>
+This field can be added to the passed messge field hash. If must be added with
+a none zero (0) value. See the example module below for it usage.
+</dl>
+<h2 class="POD_HEAD1"><a name="Example_Module">Example Module</a></h2>
+<p class="POD_TEXT">
+This template will be a simple example that will redirect disk status updates
+to an alternate Spong Server for processing. We only want the Database Server
+hosts dbserv*.example.com. And we will tell the Spong Server to drop the
+message to let the alternate Spong Server to handle it.
+</p>
+<p></p>
+<pre class="POD_TEXT">
+predata_redirect:
+
+  # Register the routine with the plugin registry
+  $DATAFUNCS{'redirect'} = \&amp;predata_redirect;
+
+  use Spong::Status;  # We'll being this module to send the message
+
+  $ALTSERVER = 'spong-disk.example.com:19980';
+
+  sub predata_redirect {
+     my( $msg ) = @_;
+</pre>
+<pre>
+     # Return is not status message for disk for dbserv* 
+     return if ( $msg-&gt;{'cmd'} ne 'status'  ||
+                 $msg-&gt;{'service'} ne 'disk' ||
+                 $msg-&gt;{'host'} !~ m/dbserv.*\.example\.com/ );
+</pre>
+<pre>
+    # Send the message to the alternate Spong Disk server
+    Spong::Status($ALTSERV, 1998, $msg-&gt;{'header'} . &quot;\n&quot;
+                                  $msg-&gt;{'message'} );
+</pre>
+<pre>
+   # And tell the server to drop the message and don't process it
+   $msg-&gt;{'drop_msg'} = 1;
+
+   return;
+
+  }
+
+  # I'm included perl code, I need this line.
+  1;
+</pre>
+<p class="POD_TEXT">
+-----
+</p>
+<p class="POD_TEXT">
+Please note the final line. It is always required for a module file.
+</p>
+<p class="POD_TEXT">
+You should use the <code>&amp;main::error()</code> function to log any error encountered
+in your module. The <code>&amp;main::error()</code> function is used to write output
+whenever something interesting happens in your module.
+</p>
+<p class="POD_TEXT">
+Any configuration variables needed for your data modules can be put into the
+Global section of your module as shown above. Of it can be added into the
+<code>spong.conf</code> or <code>spong.conf.&lt;host&gt;</code> configuration files.
+Configuration variables for your module should be named to match them up
+with the name of your customized check.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage, the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:05 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-server.html b/www/docs/spong-server.html
new file mode 100755 (executable)
index 0000000..54349a5
--- /dev/null
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-server</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-server-mod-template.html">Next:<br>spong-server-mod-template</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-network-mod-template.html">Previous:<br>spong-network-mod-template</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-server</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Running_the_program">Running the program</a>
+<li><a class="POD_NAVLINK" href="#Theory_of_Operation">Theory of Operation</a>
+<li><a class="POD_NAVLINK" href="#Data_Modules">Data Modules</a>
+<li><a class="POD_NAVLINK" href="#Big_Brother_BBSERVER">Big Brother (BBSERVER) Emulation</a>
+<li><a class="POD_NAVLINK" href="#TCP_Wrappers">TCP Wrappers</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-server</b> - save status information reported by spong programs
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>spong-server</b> [<b>--debug</b> <i>n</i>] [<b>--kill|--restart</b>] [-<b>--test</b>]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<code>config_file</code>]
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <b>spong-server</b> is the central core program of Spong. The program received
+status reports from various spong clients (specifically <b>spong-network</b> and
+various <b>spong-client</b> program running). If the message is worth notifying
+someone about, it calls the <b>spong-message</b> program.  The status messages
+messages are stored into an internal database with significant changes being
+logged into a history event log. Queries from spong interface programs (like
+<b>spong</b> and <b>www-spong</b>) seeking to display the data in the <b>spong-server</b>
+database.
+</p>
+<h3 class="POD_HEAD2"><a name="Running_the_program">Running the program</a></h3>
+<p class="POD_TEXT">
+You should start this program in you system startup file, and it should be
+running constantly. If no parameters are provided, <b>spong-server</b> will
+fork and detach itself from the console to run as a daemon.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--debug</b> <i>n</i> flag then debugging information will be
+printed to stderr. The <i>n</i> is an integer from 1 to 9. A higher number means
+more verbosity in the debugging output.
+</p>
+<p class="POD_TEXT">
+If you provide the <b>--restart</b> flag, a signal will be sent to the
+<b>spong-server</b> process that is currently running. It will release reload it's
+configuration and restart. If the <b>--kill</b> flag if provided, a signal will
+be sent to the running <b>spong-server</b> process causing it to exit.
+</p>
+<p class="POD_TEXT">
+The <b>--test</b> parameter has no effect in the <b>spong-server</b> program itself.
+If specified on the comment line, the <b>--test</b> parameter will be passed
+to the <b>spong-message</b> program when it is called. The &lt;--test&gt; paramter
+will cause <b>spong-message</b> to skip the actual send of notifications.
+</p>
+<p class="POD_TEXT">
+An alternate configuration file can be specified on the command line. This
+file will be read instead of the default <code>spong.conf</code> configuration file.
+</p>
+<h3 class="POD_HEAD2"><a name="Theory_of_Operation">Theory of Operation</a></h3>
+<p class="POD_TEXT">
+The <b>spong-server</b> has a main process that spawns a number of child processes
+to handle all of the work. There are a query process which handles queries into
+the Spong database, an update process which handles Spong formatted update
+messages (see the section on <a class="POD_LINK" href="developer-guide.html#SPONG_PROTOCOL">SPONG PROTOCOL</a> in the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage), a BBSERVER
+update process which handled Big Brother client update messages, and possibly
+other process are more feature are added in the future. The main process
+monitors each of the child processes. It will restart any child process that
+dies for any reason.
+</p>
+<p class="POD_TEXT">
+Each time a connection comes in, the child process is forks off to handle the
+the above tasks. The main child process goes back to waiting for more 
+connections.
+</p>
+<h3 class="POD_HEAD2"><a name="Data_Modules">Data Modules</a></h3>
+<p class="POD_TEXT">
+The <b>spong-server</b> has a plug-in module facility similar to the other
+Spong programs. One or more modules can be installed in the
+<code>LIBDIR/Spong/plugins/</code> directory. The modules are loaded are run-time by
+<b>spong-server</b>. As each module is initialized is registers itself with 
+the plug-ins registry.
+</p>
+<p class="POD_TEXT">
+Each module is called in turn after all of the normal processing is done for
+incoming status messages. This allows you access to data of a status message
+that will eventually be discarded. Data modules can do virtually anything that
+you desire with the incoming data. The data can be written to a log or
+database or feed to another application for further filter or processing.
+</p>
+<p class="POD_TEXT">
+Two sample data modules are located in the <code>contrib/plugins/spong-server</code>
+directory of the Spong distribution. The two modules (<b>data_rrd_disk</b> and
+<b>data_rrd_la</b> work in conjunction with a software package named RRD Tool to
+log disk and cpu information into Round Robin Databases. The modules are
+included as examples. They are not of must use by themselves. See the
+<b>Spong-RRD</b>  package (http://spong.sourceforge.net/downloads.html) for a
+complete package that utilizes data modules.
+</p>
+<h3 class="POD_HEAD2"><a name="Big_Brother_BBSERVER">Big Brother (BBSERVER) Emulation</a></h3>
+<p class="POD_TEXT">
+The Spong Server has a partial Big Brother ( http://bb4.com/ ) server emulation
+mode. This also Big Brother Clients to be used with Spong. The emulation mode
+is enabled by configuring the <i>$SPONG_BB_UPDATE_PORT</i> parameter in the
+<code>spong.conf</code> configuration file.
+</p>
+<p class="POD_TEXT">
+Note: The Spong BBSERVER Emulation mode only supports status messages from
+Big Brother Client programs. Alert messages are not supported and are silently
+ignored by the <b>spong-server</b>.
+</p>
+<h3 class="POD_HEAD2"><a name="TCP_Wrappers">TCP Wrappers</a></h3>
+<p class="POD_TEXT">
+The <b>spong-server</b> can use the TCP Wrappers Library. The TCP Wrappers Library
+implements a rules-based access control languguage. This allows incoming
+connection to be validated by host names and/or IP addresses.
+</p>
+<p class="POD_TEXT">
+To use TCP Wrappers, the libwrap.a library and the Authen::Libwrap Perl module
+must be installed. The Authen::Libwrap module be found in the Comprehensive
+Perl Archive Network (CPAN). See http://cpan.org/.
+</p>
+<p class="POD_TEXT">
+The names for the various <b>spong-server</b> services are as follows:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+spong-update: Status message update service
+</p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+spong-bb-update: Big Brother Server Emulation service
+</p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+spong-query: Spong Database query service
+</p>
+</ul>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_conf">spong.conf</a>
+<dd>
+By default this reads the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> file 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.
+<dt class="POD_ITEM"><a name="spong_conf_hostname_">spong.conf.[hostname]</a>
+<dd>
+After reading the configuration file that you specify (or the default),
+it then reads the <code>spong.conf.[hostname]</code> file where [hostname] 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.
+<dt class="POD_ITEM"><a name="spong_hosts">spong.hosts</a>
+<dd>
+<b>spong-server</b> reads all of the host that are defined in the
+<a class="POD_LINK" href="spong.hosts.html#_HOSTS">%HOSTS</a> variable in the the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage file.
+<b>spong-server</b> uses this list of servers to validate incoming status and
+control messages.  And the list is used in format of database queries.
+<dt class="POD_ITEM"><a name="spong_groups">spong.groups</a>
+<dd>
+The the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage file defines groups of hosts. <b>spong-server</b> uses these
+host groups to filter and format the data returned in database queries.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.conf</code>:
+</p>
+<p class="POD_TEXT">
+Yes there are a lot of variables. But all of the variables have defined
+default values. Most of these variables are used customizing the client
+web and text interfaces.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the Spong update process listens on. If
+This variable is not defined the Spong update process will not be started.
+The default value is 1998.
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT1">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the Spong query process listens on. If
+this variable is not defined the Spong query process will not be started. The
+default value is 1999.
+<dt class="POD_ITEM"><a name="_SPONG_BB_UPDATE_POR">$SPONG_BB_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the Big Brother BBSERVER emulation
+process listens on. If this variable is not defined the Big Brother BBSERVER
+emulation process will not be started. The default value is 1984.
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_Deprecia">$SPONGSLEEP (Depreciated)</a>
+<dd>
+This variable is used by <b>spong-server</b> to determine how old a service 
+status can be before it is considered stale. It's status will be reported
+as 'purple'. The exact time to live a message is 2 * $SPONGSLEEP.  (This
+variable is depreciated in favor of the new $SPONGSLEEP{} variables.)
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_DEFAULT_">$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-server'}</a>
+<dd>
+This the new method for specifying the $SPONGSLEEP interval for Spong programs.
+If there is not $SPONGSLEEP{} entry for the program, it will use the
+<i>$SPONGSLEEP{'DEFAULT'}</i> value. If no value is then found, <b>spong-client</b>
+fall back to using $SPONGSLEEP.
+<dt class="POD_ITEM"><a name="_SPONGDB">$SPONGDB</a>
+<dd>
+This defined the directory where the Spong database will be stored. Each host
+will have a subdirectory in this directory which is named for the host.
+<dt class="POD_ITEM"><a name="_SPONGTMP">$SPONGTMP</a>
+<dd>
+The directory that Spong programs use for temporary store and work files. It
+should be different a directory than <code>/tmp</code> for operation and security reasons.
+<dt class="POD_ITEM"><a name="_SPONGSTATUS">$SPONGSTATUS</a>
+<dd>
+If this variable is set to 1, it will enable the storing of the update
+status message information for each event that is generated in the history 
+log. This status message information is access via the web interface by
+click on the status color or icon link of an event in a History Listing.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_FILE">$SPONG_LOG_FILE</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to a log file in <i>$SPONGTMP</i>
+named <code>spong-network.log</code>.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_SYSLOG">$SPONG_LOG_SYSLOG</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to the syslog using the
+<i>USER</i> facility and the <i>ERR</i> priority.
+<dt class="POD_ITEM"><a name="_SPONG_SERVER_ALARM">$SPONG_SERVER_ALARM</a>
+<dd>
+This variable defined the maximum amount of time (in seconds) that a incoming
+connection of a status message can last. Once the time limit is exceeded
+<b>spong-server</b> will terminated the connection. This action can be disables
+by setting the variable to zero (0).
+<dt class="POD_ITEM"><a name="_WWW_FQDN">$WWW_FQDN</a>
+<dd>
+Set this variable to 1 to display the fully qualified domain name (FQDN) of
+hosts in Spong client displays. Otherwise only the first element of the FQDN
+will be displayed. If the host has a 'display_name' attribute, it will
+be used in preference to the FQDN names.
+<dt class="POD_ITEM"><a name="_HISTORY_FQDN">$HISTORY_FQDN</a>
+<dd>
+Set this varirable to 1 to display teh fully qualified domain name (FQDN) of
+hosts in History displays display clients. Otherwise only the first element of
+the FQDN will be displayed. If the host has a 'display_name' attribute, it will
+be used in preference to the FQDN names.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.hosts</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_HOSTS">%HOSTS</a>
+<dd>
+All of the host names defined in %HOSTS are the list of hosts that
+<b>spong-server</b> will accept status messages for. Any status message for an
+unknown host will be logged as an error and discarded.
+</dl>
+<p class="POD_TEXT">
+From <code>spong.groups</code>:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_GROUPS">%GROUPS</a>
+<dd>
+The host groups that are defined in this variable are used to filter and 
+format data queries of the Spong database.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>spong.conf</code>, <code>spong.conf.hostname</code>, <code>spong.hosts</code>, <code>spong.groups</code>
+</p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+No know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage, the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage, the <a class="POD_LINK" href="spong-server-mod-template.html">spong-server-mod-template</a> manpage,
+the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<p></p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:04 2002
+</body>
+</html>
+
diff --git a/www/docs/spong-status.html b/www/docs/spong-status.html
new file mode 100644 (file)
index 0000000..d2fb879
--- /dev/null
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong-status</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.conf.html">Next:<br>spong.conf</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-server-mod-template.html">Previous:<br>spong-server-mod-template</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong-status</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#OPTIONS">OPTIONS</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong-status</b> - send various type of messages to a spong-server
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<pre class="POD_VERBATIM">
+ spong-status [--help]
+ spong-status [--ttl #] (--file name | --message &quot;message text&quot;) CMD HOST
+              SERVICE COLOR &quot;SUMMARY TEXT&quot;
+ spong-status [--cmd cmd] --host name --service name --color color 
+              --summary text (--message text | -f filename) 
+              [--ttl seconds]
+</pre>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This program allows you to create your own extern spong client programs or
+integrate existing monitoring program or scripts in Spong. <b>spong-status</b>
+hides all of the details of the Spong Client/Server communication protocol.
+</p>
+<h2 class="POD_HEAD1"><a name="OPTIONS">OPTIONS</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_help"><b>--help</b></a>
+<dd>
+Print the help text
+<dt class="POD_ITEM"><a name="_cmd_status_page"><b>--cmd</b> <i>status|page</i></a>
+<dd>
+Command type being sent to <b>spong-server</b>. Defaults to 'status'.
+<dt class="POD_ITEM"><a name="_host_NAME"><b>--host</b> <i>NAME</i></a>
+<dd>
+Name of the host being reported.
+<dt class="POD_ITEM"><a name="_service_NAME"><b>--service</b> <i>NAME</i></a>
+<dd>
+Name of the service being reported.
+<dt class="POD_ITEM"><a name="_color_COLOR_"><b>--color</b> &lt;COLOR&gt;</a>
+<dd>
+Status color being reported. COLOR may be ``green'', ``yellow'', or ``red''.
+<dt class="POD_ITEM"><a name="_summary_TEXT"><b>--summary</b> <i>TEXT</i></a>
+<dd>
+Summary text to be reported.
+<p></p>
+<dt class="POD_ITEM"><a name="_ttl_SECONDS"><b>--ttl</b> <i>SECONDS</i></a>
+<dd>
+Time to live of status report in seconds.
+<dt class="POD_ITEM"><a name="_message_TEXT"><b>--message</b> <i>TEXT</i></a>
+<dd>
+Detailed message text being reported.
+<dt class="POD_ITEM"><a name="_file_FILENAME"><b>--file</b> <i>FILENAME</i></a>
+<dd>
+Detailed message info read from file FILENAME.  If FILENAME is '-', text is
+read from stdin.
+</dl>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+<b>spong-cleanup</b> reads the standard spong.conf and spong.conf.&lt;host&gt;
+configuration files.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The host that at least the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage and the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+programs are running on. Typically the the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program runs on that
+host as well.
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process listens
+on. If this variable is not defined on the <i>$SPONGSERVER</i> host, the
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process will not be started.  The default value is 1998.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>SPONGHOME/etc/spong.conf</code>, <code>SPONGHOME/etc/spong.conf.&lt;host&gt;</code>
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_VERBATIM">
+  spong-status --cmd status --host www.my-inc.com --service fping --color yellow
+            --summary &quot;Host contacted. Response time more then 30 ms&quot;
+            --file /tmp/fping.out
+
+  spong-status --ttl 86400 --message &quot;Backup failed for /usr,/var&quot; page
+            www.my-inc.com red backup &quot;Backup failed&quot;
+</pre>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+No know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:05 2002
+</body>
+</html>
+
diff --git a/www/docs/spong.conf.html b/www/docs/spong.conf.html
new file mode 100644 (file)
index 0000000..af912dc
--- /dev/null
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong.conf</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.groups.html">Next:<br>spong.groups</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-status.html">Previous:<br>spong-status</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong.conf</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#All_programs">All programs</a>
+<li><a class="POD_NAVLINK" href="#spong_server">spong-server</a>
+<li><a class="POD_NAVLINK" href="#www_spong">www-spong</a>
+<li><a class="POD_NAVLINK" href="#www_spong_ack">www-spong-ack</a>
+<li><a class="POD_NAVLINK" href="#spong_cleanup">spong-cleanup</a>
+<li><a class="POD_NAVLINK" href="#spong_client">spong-client</a>
+<li><a class="POD_NAVLINK" href="#spong_message">spong-message</a>
+<li><a class="POD_NAVLINK" href="#OS_SPECIFIC_VARIABLE">OS SPECIFIC VARIABLES</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong.conf</b> - provides configuration information to spong programs.
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <code>spong.conf</code> file defines variables that are used by all pieces of spong.
+This file ( and if it exists  <code>spong.conf.&lt;hostname&gt;</code> file ) gets
+imported by each of the spong programs
+</p>
+<p class="POD_TEXT">
+The variables are grouped by the spong programs. Each section will list the
+variables that are used in the program along with the meaning of the 
+variable to the program.
+</p>
+<h3 class="POD_HEAD2"><a name="All_programs">All programs</a></h3>
+<p class="POD_TEXT">
+This sections deals with variables that are used by all of the Spong
+programs. Any differences in how the programs use the variable will be detailed in the <i>&quot;Configuration Variables&quot;</i> section of the program's documentation.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_Deprecia">$SPONGSLEEP (Depreciated)</a>
+<dd>
+This variable holds the amount in time in seconds) that spong client programs
+(i.e.  <b>spong-client</b> and <b>spong-network</b>) are expected to sleep between
+checking cycles. For <b>spong-server</b> this is the time to live for statuses.  If
+a status has not been updated in 2 * $SPONGSLEEP seconds it is considered to be
+old and the color is set to 'purple'. For www-spong, $SPONGSLEEP represents the
+amount of time to automatically refresh the web page.
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_DEFAULT_">$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'&lt;program-name&gt;'}</a>
+<dd>
+This the new method for specifying the $SPONGSLEEP interval for Spong programs.
+If there is not $SPONGSLEEP{} entry for the program, it will use the
+<i>$SPONGSLEEP{'DEFAULT'}</i> value. If no value is then found, the spong program
+will fall back to using $SPONGSLEEP.
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The host that, at the least, the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage and the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+programs are running on. Typically the the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program runs on that
+host as well.
+<p class="POD_TEXT">
+Multiple hosts can now be specified in &lt;$SPONGSERVER&gt;. This allows you to run
+mutiple Spong Server instances for multiple monitored domains, and eventually
+High Availability functionality.
+</p>
+<pre class="POD_TEXT">
+The fully syntax is:
+
+   spong-server1.example.com[:port] [spong-server2.example.org[:port] ...]
+</pre>
+<p class="POD_TEXT">
+The '[:port]' specified the port the update process is listening on for that
+Spong Server. See the <a class="POD_LINK" href="#_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a> entry elsewhere in this document for more information. The default value
+is 1998.
+</p>
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process listens
+on. If this variable is not defined on the <i>$SPONGSERVER</i> host, the
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process will not be started.  The default value is 1998.
+<dt class="POD_ITEM"><a name="_SPONG_QUERY_PORT">$SPONG_QUERY_PORT</a>
+<dd>
+This variable defines the port that the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage query process listens
+on. If this variable is not defined on the <i>$SPONGSERVER</i> host, the
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage query process will not be started. The default value is 1999.
+<dt class="POD_ITEM"><a name="_SPONG_BB_UPDATE_POR">$SPONG_BB_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the Big Brother BBSERVER emulation process
+listens on. If this variable is not defined on the <i>$SPONGSERVER</i> host,  the
+Big Brother BBSERVER emulation process will not be started. The default value
+is 1984.
+<dt class="POD_ITEM"><a name="_SPONGTMP">$SPONGTMP</a>
+<dd>
+A temporary directory where output from some commands are kept for short
+periods of time. For security reasons, this should probably be something
+other then <code>/tmp</code>, or <code>/var/tmp</code>.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_FILE">$SPONG_LOG_FILE</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to a log file in <i>$SPONGTMP</i>
+named <code>spong-network.log</code>.
+<dt class="POD_ITEM"><a name="_SPONG_LOG_SYSLOG">$SPONG_LOG_SYSLOG</a>
+<dd>
+If set to <i>1</i>, <b>spong-network</b> will log errors to the syslog using the
+<i>USER</i> facility and the <i>ERR</i> priority.
+<dt class="POD_ITEM"><a name="_TIMEFMT">$TIMEFMT</a>
+<dd>
+A string that contains strftime() presentation symbols for formatting time
+displays which have hours, minutes and seconds. The default is &quot;%H:%M:%S&quot;.
+<dt class="POD_ITEM"><a name="_TIMEFMTNOSEC">$TIMEFMTNOSEC</a>
+<dd>
+A string that contains strftime() presentation symbols for formatting time
+displays which have hours and minutes. The default is &quot;%H:%M&quot;.
+<dt class="POD_ITEM"><a name="_DATEFMT">$DATEFMT</a>
+<dd>
+A string that contains strftime() presentation symbols for formatting date
+displays. The default is &quot;%m/%d/%y&quot; (i.e numeric month / numeric day /
+ year w/o century ).
+<dt class="POD_ITEM"><a name="_DATETIMEFMT">$DATETIMEFMT</a>
+<dd>
+A string that contains strftime() presentation symbols for formating a full
+date and time display. The default is &quot;%c&quot; (preferred date and time
+representation for the current locale. And alternate format might be 
+&quot;$DATEFMT, $TIMEFMT&quot;.
+</dl>
+<h3 class="POD_HEAD2"><a name="spong_server">spong-server</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGDB">$SPONGDB</a>
+<dd>
+This defines the directory where the Spong database will be stored. Each host
+will have a subdirectory in this directory which is named for the host.
+<dt class="POD_ITEM"><a name="_SPONGSTATUS">$SPONGSTATUS</a>
+<dd>
+If this variable is set to 1, it will enable the storing of the update
+status message information for each event that is generated in the history 
+log. This status message information is access via the web interface by
+click on the status color or icon link of an event in a History Listing.
+<dt class="POD_ITEM"><a name="_SPONG_SERVER_ALARM">$SPONG_SERVER_ALARM</a>
+<dd>
+This variable defined the maximum amount of time (in seconds) that a incoming
+connection of a status message can last. Once the time limit is exceeded
+<b>spong-server</b> will terminated the connection. This action can be disables
+by setting the variable to zero (0).
+<dt class="POD_ITEM"><a name="_WWW_FQDN">$WWW_FQDN</a>
+<dd>
+Set this variable to 1 to display the fully qualified domain name (FQDN) of
+hosts in Spong client displays. Otherwise only the first element of the FQDN
+will be displayed. If the host has a 'display_name' attribute, it will be used
+in preference to the FQDN names.
+<dt class="POD_ITEM"><a name="_HISTORY_FQDN">$HISTORY_FQDN</a>
+<dd>
+Set this varirable to 1 to display teh fully qualified domain name (FQDN) of
+hosts in History displays display clients. Otherwise only the first element of
+the FQDN will be displayed. If the host has a 'display_name' attribute, it will
+be used in preference to the FQDN names.
+<p></p>
+<dt class="POD_ITEM"><a name="_SEND_MESSAGE">$SEND_MESSAGE</a>
+<dd>
+<i>$SEND_MESSAGE</i> defines when <b>spong-message</b> is called by <b>spong-server</b>.
+This variable can contain one of four valid values. If it is ``RED'', then
+<b>spong-message</b> is called for every time a system or service reports a
+problem. If its value is ``CHANGE'', then <b>spong-message</b> is only called when
+there is a change of state . If this values is ``RED-CHANGE'', then
+<b>spong-message</b> is called; every time a system of service reported a problem
+and when the condition is cleared. (going from green/yellow to red, and then
+again going from red to green/yellow). If its value is ``NONE'', then
+<b>spong-message</b> is never called.
+</dl>
+<h3 class="POD_HEAD2"><a name="www_spong">www-spong</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_WWW_USE_IMAGES">$WWW_USE_IMAGES</a>
+<dd>
+The variable controls how services status colors are displayed on the web
+displays. If set to 1, service status colors are represented by colored icons.
+Otherwise the colors are represented by blocks of color.
+<p class="POD_TEXT">
+The default value is 0. If <b>$WWW_USE_IMAGES</b> is set, the the section on <a class="POD_LINK" href="#_WWWGIFS">$WWWGIFS</a> elsewhere in this document
+variable must set to the location of the images directory.
+</p>
+<dt class="POD_ITEM"><a name="_WWWGIFS">$WWWGIFS</a>
+<dd>
+When the section on <a class="POD_LINK" href="#_WWW_USE_IMAGES">$WWW_USE_IMAGES</a> elsewhere in this document is set to 1, this variable should be
+set to the URL path of the <code>www/gifs</code> directory within the document tree of
+the web server.
+<p class="POD_TEXT">
+The typical setup is to alias the <code>/www</code> directory of your installation to a
+location in your document tree, for example <code>alias /spong/
+/usr/local/spong/www/</code>. Then set $WWWGIFS to <code>/spong/gifs</code>.
+</p>
+<dt class="POD_ITEM"><a name="_WWWDOCS">$WWWDOCS</a>
+<dd>
+This is the URL path of the <code>www/docs</code> directory of within the document tree
+of the web server.
+<p class="POD_TEXT">
+The typical setup is to alias the <code>/www</code> directory of your installation to a
+location in your document tree, for example <code>alias /spong/
+/usr/local/spong/www/</code>. Then set $WWWDOCS to <code>/spong/docs</code>.
+</p>
+<dt class="POD_ITEM"><a name="_WWWHTML">$WWWHTML</a>
+<dd>
+This should be the full path name to the <code>www/html</code> directory of your
+Spong installation.
+<dt class="POD_ITEM"><a name="_WWWSPONG">$WWWSPONG</a>
+<dd>
+This should be the URL path to the location of the the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage CGI program
+with your web server's document tree.
+<dt class="POD_ITEM"><a name="_WWW_ACTIONBAR_CUSTO">$WWW_ACTIONBAR_CUSTOM</a>
+<dd>
+The variable defined HTML code that will be appended to the Action Bar at
+the top of Host Displays in the right frame of the web client interface. This
+code is eval'ed before display. You can include perl code and variables. The
+perl variable <code>$name</code> holds the FQDN of the host being displayed.
+<dt class="POD_ITEM"><a name="_WWW_PROB_ACTIONBAR">$WWW_PROB_ACTIONBAR</a>
+<dd>
+This variable is similar in function to the $WWW_ACTIONBAR_CUSTOM variable.
+Except this action bar is display after each host listed in the problem
+frame (left) of the client web interface.
+<dt class="POD_ITEM"><a name="_WWW_TITLE_ACTIONBAR">$WWW_TITLE_ACTIONBAR</a>
+<dd>
+This variable can host HTML code that will be appended to the action bar
+that is display in the title (top) frame of the client web display. This
+code is eval'ed before display. You can include perl code and variables. This
+action bar is only displays if the section on <a class="POD_LINK" href="#_WWWFRAMES">$WWWFRAMES</a> elsewhere in this document is set to 3.
+<dt class="POD_ITEM"><a name="_WWW_TITLE_COLOR">$WWW_TITLE_COLOR</a>
+<dd>
+Defines the background color for table title cells in the client web interface.
+The colors are defined in the HTML color format.
+<dt class="POD_ITEM"><a name="_WWW_CELL_COLOR">$WWW_CELL_COLOR</a>
+<dd>
+This variable defined the background color for normal table cells in the
+client web interface. The colors are defined in the HTML color format.
+<dt class="POD_ITEM"><a name="_WWW_COLOR_">$WWW_COLOR{...}</a>
+<dd>
+This perl hash contains the HTML color codes for the various Spong status
+colors. The can tweak the colors to your own preferences. It is strongly
+suggested that you don't move the colors outside of their color family,
+unless you throughly document your changes.
+<dt class="POD_ITEM"><a name="_WWWFRAMES">$WWWFRAMES</a>
+<dd>
+This determined the type of frame interface that is used in the web interface
+client of the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage. The variable can be set to 2 or 3. The default value is
+2. See the <a class="POD_LINK" href="user-guide.html">user-guide</a> manpage for more information.
+<dt class="POD_ITEM"><a name="_WWW_TITLE_SIZE">$WWW_TITLE_SIZE</a>
+<dd>
+This sets the vertical size of the title frame when the section on <a class="POD_LINK" href="#_WWWFRAMES">$WWWFRAMES</a> elsewhere in this document is set
+to 3. The values is a integer indication the number of points (as in font
+sizes). The default value is 40.
+<dt class="POD_ITEM"><a name="_WWW_REFRESH_ALLOW">@WWW_REFRESH_ALLOW</a>
+<dd>
+A list of Perl regular expressions that are checked against the REMOTE_ADDR,
+REMOTE_HOST and REMOTE_USER environmental CGI parables. If there is a match on
+any of these variables the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage will attach a REFRESH meta tag to reload
+the web pages every the <a class="POD_LINK" href="#_SPONGSLEEP_Deprecia">$SPONGSLEEP</a> entry elsewhere in this document seconds. See the
+the section on <a class="POD_LINK" href="admin-guide.html">$WWW_REFRESH Logic</a> in the <a class="POD_LINK" href="admin-guide.html">admin-guide</a> manpage for more details.
+<dt class="POD_ITEM"><a name="_WWW_REFRESH_DENY">@WWW_REFRESH_DENY</a>
+<dd>
+A list of Perl regular expressions that are checked against the REMOTE_ADDR,
+REMOTE_HOST and REMOTE_USER environmental CGI parables. If there is a match on
+any of these variables, the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage will NOT attach a REFRESH meta tag. User's
+must use the Reload/Refresh button on their web browser to update the Spong web
+pages.  See the the section on <a class="POD_LINK" href="admin-guide.html">$WWW_REFRESH Logic</a> in the <a class="POD_LINK" href="admin-guide.html">admin-guide</a> manpage for more
+details.
+<dt class="POD_ITEM"><a name="_WWWCONTACT">$WWWCONTACT</a>
+<dd>
+This is a partial URL to a CGI script that can do paging for systems. If it is
+used a &quot;Contact&quot; link will appear on Tool Bar on Spong Web Displays. Refer to
+the <a class="POD_LINK" href="user-guide.html">User Guide</a> for more details.
+<p class="POD_TEXT">
+There not sample CGI script provided. To create please see
+the section on <a class="POD_LINK" href="admin-guide.html#Custom_Contacts">Custom Contacts</a> in the <a class="POD_LINK" href="admin-guide.html">admin-guide</a> manpage. The variable is commented out and is not used
+by default.
+</p>
+</dl>
+<h3 class="POD_HEAD2"><a name="www_spong_ack">www-spong-ack</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_WWWSPONGACK">$WWWSPONGACK</a>
+<dd>
+This should be the URL path to the location of the the <a class="POD_LINK" href="www-spong-ack.html">www-spong-ack</a> manpage CGI program
+with your web server's document tree.
+</dl>
+<h3 class="POD_HEAD2"><a name="spong_cleanup">spong-cleanup</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONG_ARCHIVE">$SPONG_ARCHIVE</a>
+<dd>
+The directory where to put old history file entries for each host. Each host
+has it's own file in this directory.
+<dt class="POD_ITEM"><a name="_OLD_HISTORY">$OLD_HISTORY</a>
+<dd>
+This is the number of days of history to keep for each host in the
+spong-server database. Any old history is append to the file for the host under
+the <i>$SPONG_ARCHIVE</i> directory.
+<dt class="POD_ITEM"><a name="_OLD_SERVICE">$OLD_SERVICE</a>
+<dd>
+This is the number of days to retain stale service status (i.e. purple
+status) entries in the spong-server database. Any service service status
+entries older than &lt;$OLD_SERVICE&gt; days old are deleted from the
+database.
+</dl>
+<h3 class="POD_HEAD2"><a name="spong_client">spong-client</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_DFIGNORE">@DFIGNORE</a>
+<dd>
+A list of regular expression strings that are matched against the raw file
+system names. If matched, then that file system is ignored. For example,
+having ``:'' in this list will cause NFS file system mounts to be ignored.
+<dt class="POD_ITEM"><a name="_DFWARN_DFCRIT">%DFWARN, %DFCRIT</a>
+<dd>
+A hash of file systems (or the word ``ALL''), and the percentage
+that should trigger a problem (<i>%DFWARN</i> triggers warnings - yellow,
+and <i>%DFCRIT</i> triggers alerts - red). If a file system is not explicitly
+listed in this hash then it will fall back to the value of the ``ALL''
+entry.
+<dt class="POD_ITEM"><a name="_CPUWARN_CPUCRIT">$CPUWARN, $CPUCRIT</a>
+<dd>
+A number indicating the CPU load that triggers a problem (<i>$CPUWARN</i> triggers
+warnings - yellow, and <i>$CPUCRIT</i> triggers alerts - red).
+<dt class="POD_ITEM"><a name="_PROCSWARN_PROCSCRIT">@PROCSWARN, @PROCSCRIT</a>
+<dd>
+A list of processes that should be running, if they are not running, then
+trigger a problem (processes in <i>@PROCSWARN</i> trigger a warning
+- yellow, and processes in <i>@PROCSCRIT</i> trigger an alert - red).
+<dt class="POD_ITEM"><a name="_LOGCHECKS">$LOGCHECKS</a>
+<dd>
+A list of hashes which defined checks to apply to log files. Each hash
+contains the fields <i>logfile</i> which is the full path to the log file
+to check and <i>checks</i> which is a list of check to apply to the
+log file. Each check is a hash that contains the fields: <i>pattern</i>
+- a Perl regular expression to be scanned for, <i>status</i> - the status
+color to reported lines matching pattern, duration - the duration that
+each event is to be reported to the server, <i>text</i>- the text to reported
+back in the detailed message field of the status report (which can include
+match position variables from <i>pattern</i>) and <i>id</i> - an optional
+key field to associated with each event generated. See the the <u>check_logs</u> manpage
+documentation for more information and examples.
+<dt class="POD_ITEM"><a name="_HTTPDOCS_HTTPPORT">%HTTPDOCS, %HTTPPORT</a>
+<dd>
+These variables provide some parameters when checking http based servers.  The
+<i>%HTTPDOCS</i> variable is keyed by host (or the string ``ALL'' for all hosts),
+and contains as a value, a list of documents to check on that host. The default
+setting is to search for the ``/robots.txt'' file on all hosts.
+<p class="POD_TEXT">
+The <i>%HTTPPORT</i> variable contains the port number that web server on a given
+host is running on. By default the value is 80, but this can be overridden on a
+host by host basis.
+</p>
+</dl>
+<h3 class="POD_HEAD2"><a name="spong_message">spong-message</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_MESSAGES_PER_HOUR">$MESSAGES_PER_HOUR</a>
+<dd>
+This is the maximum number of messages that are sent to the same person
+in an hour. All message past this number are just logged to the history
+file, but are not sent. This helps to prevent against message overload
+such as when you have a networking problem, and everything appears to go
+red at once. The default value is 5.
+<dt class="POD_ITEM"><a name="_IDENT_MESSAGES_PER_">$IDENT_MESSAGES_PER_HOUR</a>
+<dd>
+This is the maximum number of identical messages that are sent to the same
+person in an hour. The default value is 3.
+</dl>
+<h3 class="POD_HEAD2"><a name="OS_SPECIFIC_VARIABLE">OS SPECIFIC VARIABLES</a></h3>
+<p class="POD_TEXT">
+These are various external programs that Spong uses to gather system
+information to evaluate in it's checks. It is <i>strongly</i>&gt; recommended that you
+use the full path names for the values of these variables.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_DF_UPTIME_PS_GREP_P">$DF, $UPTIME, $PS, $GREP, $PING, $TRACEROUTE, $MAILQ</a>
+<dd>
+These variables are OS specific variables, which are hopefully set correctly
+for your machine, if they are not - please send me email letting me know
+what OS you are running on, and what the correct value should be.
+</dl>
+<p></p>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="SPONGHOME_etc_spong_"><code>SPONGHOME/etc/spong.conf</code></a>
+<dd>
+This is the standard spong.conf file that is read by all spong programs.
+<dt class="POD_ITEM"><a name="SPONGHOME_etc_spong_1"><code>SPONGHOME/etc/spong.conf.[host]</code></a>
+<dd>
+This is a spong.conf file that if it exists on a given host, it will be
+read after the standard spong.conf file is read. Since the configuration
+files are just Perl code, anything you set in the host specific spong.conf
+file will override the standard configuration file. ``host'' can be either
+the full host name of the machine you are running on (web1.school.edu),
+or just the name minus the domain (web1). It looks for the full name
+first, and then if it can not find it - it looks for the shorter name.
+</dl>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <u>perl</u> manpage , the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, , the <a class="POD_LINK" href="spong-client.html">spong-client</a> manpage, the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage,
+the <a class="POD_LINK" href="www-spong-ack.html">www-spong-ack</a> manpage, the <a class="POD_LINK" href="spong-cleanup.html">spong-cleanup</a> manpage, the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage, the section on <u>strftime</u> in the <u>POSIX</u> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:06 2002
+</body>
+</html>
+
diff --git a/www/docs/spong.groups.html b/www/docs/spong.groups.html
new file mode 100644 (file)
index 0000000..6853f83
--- /dev/null
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong.groups</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.hosts.html">Next:<br>spong.hosts</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.conf.html">Previous:<br>spong.conf</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong.groups</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#_GROUPS">%GROUPS</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FORMAT">FORMAT</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong.groups</b> - define groups of spong hosts
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <code>spong.hosts</code> file defines two things. 1) The hosts you want to monitor
+(and the attributes associated with each host), and 2) The humans that will 
+be contacted when a given host has problems (and the attributes associated
+with each human).
+</p>
+<p class="POD_TEXT">
+The <code>spong.groups</code> file defines a set of hosts from <code>spong.hosts</code>. This
+file is used by the Spong display programs <b>www-spong</b> and <b>spong</b> for
+formating and filters output displays. The <b>spong-message</b> uses this
+in it's messaging rules to do inclusion or exclusion of notifications for
+groups of hosts.
+</p>
+<p class="POD_TEXT">
+Any number of groups can be added created. A host belong to multiple groups
+or no groups. There is a default group of ALL which all hosts in <code>spong.conf</code>
+are automatically a member.
+</p>
+<p class="POD_TEXT">
+<b>Note:</b> You do not have to add hosts into the 'ALL' group in the
+<code>spong.groups</code> file. It is done automatically.
+</p>
+<h3 class="POD_HEAD2"><a name="_GROUPS">%GROUPS</a></h3>
+<p class="POD_TEXT">
+Each host should have the following attributes associated with it:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="name"><p>name</p></a>
+<p class="POD_TEXT">
+The name of the group. This attribute is used extensively in Spong
+Display programs.
+</p>
+<li class="POD_ITEM"><a name="summary"><p>summary</p></a>
+<p class="POD_TEXT">
+A description of the group
+</p>
+<li class="POD_ITEM"><a name="members"><p>members</p></a>
+<p class="POD_TEXT">
+This is a list of host names that are members of the groups. The hosts names
+should be those used in the <code>spong.hosts</code> program
+</p>
+</ul>
+<p class="POD_TEXT">
+Optionally, the follow attributes can also be assigned to a group:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="compress"><p>compress</p></a>
+<p class="POD_TEXT">
+This attribute indicates whether or not empty empty service columns should
+be removed when displaying this groups. Otherwise all of the services in
+the Spong database will be shown. This attribute should be 0 or 1. The default
+value is 0 (don't compress).
+</p>
+<li class="POD_ITEM"><a name="display"><p>display</p></a>
+<p class="POD_TEXT">
+This attribute controls whether a group will be displayed on Host Groups
+displays of Spong Display programs. Set this value off f you intend to just use
+a group for notification matching <b>spong-message</b>.
+</p>
+<p class="POD_TEXT">
+This attribute should be 0 or 1. The default value is 1 (display the group).
+</p>
+</ul>
+<p></p>
+<h2 class="POD_HEAD1"><a name="FORMAT">FORMAT</a></h2>
+<p class="POD_TEXT">
+The <code>spong.conf</code> file is simply Perl code that gets imported by each Spong
+program, so the only real format restrictions is just what is syntactically
+correct in Perl (which some would say is anything 8-).
+</p>
+<p class="POD_TEXT">
+What is expected in this file is the definition for one hash of hashes (in
+Perl speak). The <i>%GROUPS</i> hash,  If you are
+not comfortable with Perl lingo, then just think of them as stanza definitions.
+</p>
+<pre class="POD_TEXT">
+The following describes the &lt;%GROUP&gt; hash.
+
+  %GROUPS = ( [stanza], [stanza], [stanza] );
+</pre>
+<pre class="POD_TEXT">
+where [stanza] is a second hash, that looks like the following:
+
+  'servers' =&gt; { name    =&gt; 'Main servers',
+                 summary =&gt; 'Main servers that are up 24x7',
+                 members =&gt; [ 'zero.monsters.org',
+                              'godzilla.monsters.org',
+                           ],
+                 compress = 0;
+                 display = 1;
+               }
+</pre>
+<p class="POD_TEXT">
+&lt;p&gt;I know the format can be a little odd at first, but I chose it because
+of both its simplicity to work with in the code (I don't have to parse
+anything - Perl does all the work), and because it is easy to extend -
+adding additional attributes is quite straightforward.
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<p class="POD_TEXT">
+Here are some lines from my spong.groups file to show you possible
+configurations.
+</p>
+<pre>
+  %GROUPS = (
+   'all' =&gt;   { name    =&gt; 'All Systems',
+                summary =&gt; &quot;This groups contains all hosts monitored by spong&quot; },
+
+   'servers' =&gt; { name    =&gt; 'Main servers',
+                  summary =&gt; 'Main servers that are up 24x7',
+                  members =&gt; [ 'zero.monsters.org',
+                               'godzilla.monsters.org',
+                             ],
+                },
+
+   'windows' =&gt; { name =&gt; 'Windows Hosts',
+                  summary =&gt; 'Computers running Windows or NT',
+                  members =&gt; [ 'mothra.monsters.org',
+                            ],
+                  compress =&gt; 1,
+              },
+
+   'msgtest' =&gt; { name =&gt; 'spong-message groups',
+                  summary =&gt; 'A group to test spong-message rules matching',
+                  members =&gt; ['godzilla.monsters.org',
+                              'ghidora.monsters.org.',
+                             ],
+                  display =&gt; 0;  # Don't display this group
+
+  );
+</pre>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:06 2002
+</body>
+</html>
+
diff --git a/www/docs/spong.hosts.html b/www/docs/spong.hosts.html
new file mode 100644 (file)
index 0000000..0be4835
--- /dev/null
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong.hosts</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.message.html">Next:<br>spong.message</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.groups.html">Previous:<br>spong.groups</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong.hosts</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#_HOSTS">%HOSTS</a>
+<li><a class="POD_NAVLINK" href="#_HUMANS">%HUMANS</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FORMAT">FORMAT</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLE_h1">EXAMPLE/h1</a>
+<li><a class="POD_NAVLINK" href="#COMPARABILITY_In_a_f">COMPARABILITY
+In a future release of spong the %HUMAN configuration information will
+be moved into the spong.message configuration file. It is currently being
+retained in the spong.hosts file for compatibility.</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong.hosts</b> - define hosts and services to monitor
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <code>spong.hosts</code> file defines two things. 1) The hosts you want to monitor
+(and the attributes associated with each host), and 2) The humans that will 
+be contacted when a given host has problems (and the attributes associated
+with each human).
+</p>
+<h3 class="POD_HEAD2"><a name="_HOSTS">%HOSTS</a></h3>
+<p class="POD_TEXT">
+Each host should have the following attributes associated with it:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="services"><p>services</p></a>
+<p class="POD_TEXT">
+the network services running on that host
+</p>
+</ul>
+<p class="POD_TEXT">
+Optionally, the follow attributes can also be assigned to a host:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="down_down_service"><p>down | down:service</p></a>
+<p class="POD_TEXT">
+time period(s) the host or a service on the host is scheduled down, problems
+are not reported during this time.
+</p>
+<li class="POD_ITEM"><a name="ip_addr"><p>ip_addr</p></a>
+<p class="POD_TEXT">
+a list of one or more ip addresses corresponding to multiple interfaces the
+machine might have.
+</p>
+<li class="POD_ITEM"><a name="skip_network_checks"><p>skip_network_checks</p></a>
+<p class="POD_TEXT">
+a flags (values 1 or 0) to tell the the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program to skip the
+network checks for this host.
+</p>
+</ul>
+<p class="POD_TEXT">
+The <i>services</i> attribute  is a string listing the network modules to run
+against the host separated by spaces.  The list of network modules included
+with Spong is constantly growing, but they include ``dns'' , ``ftp'', ``smtp'',
+``http'', ``imap'', ``pop3'', ``nntp'', ``nfs'',``ntp'' and ``ssh''.  The list
+can include any addition network checks that you have developed (see
+the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage and the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage for more details) . Any host listed is
+automatically checked for network connectivity (via ping). The meta-service
+``noping'' can be included in the list of modules to cause <b>spong-network</b> to
+skip the ``ping'' test.
+</p>
+<pre class="POD_TEXT">
+Service names in <i>services</i> can be flagged to skip the remaining checks if it
+fails. The tests that are slipped are flagged with a special &quot;clear&quot; status 
+color. The &quot;clear&quot; status mean they have not been checked due special
+circumstances. The service name is flagged by appending a colon (&quot;:&quot;) on the end
+of the service name. For example:
+
+  'myhost.org' =&gt; {  'services' =&gt; 'ping: ftp smtp' },
+</pre>
+<p class="POD_TEXT">
+Skip the 'ftp' and 'smtp' checks if the 'ping' check fails.
+</p>
+<p class="POD_TEXT">
+The <i>down</i>, <i>down:servicename</i> attributeis are a list of ``downtimes''. It is
+a list (well reference to one anyway) of one or more strings in the following
+format - ``d:hh:mm-hh:mm''.  ``d'' is the day of the week (0-6, 0 = Sunday, 6 =
+Saturday), if ``d'' is ``*'', then every day of the week is matched. The string
+to the right of the day is the start and end time of the down time in 24 hour
+format
+</p>
+<p class="POD_TEXT">
+The <i>ip_addr</i> attribute is a list (well reference to one anyway) of IP
+address that the machine responds to.
+</p>
+<p class="POD_TEXT">
+The <i>skip_network_checks</i> flag be used to temporarily disable the network
+checks for one or more hosts. The hosts can stll received spong-client status
+updates.  And the historical network information for the hosts is available.
+This is useful when the hosts are being renamed or re-networked over an
+extended period of time.
+</p>
+<p class="POD_TEXT">
+Additional attributes can be added into <i>%HOSTS</i> entries. These attributes
+can be used for any external program or additional modules that you have
+added to your Spong installation. All of the Spong programs will ignore any
+attributes that they don't recognize.
+</p>
+<h3 class="POD_HEAD2"><a name="_HUMANS">%HUMANS</a></h3>
+<p class="POD_TEXT">
+Each human that is defined should have the following attributes associated
+with it:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="name"><p>name</p></a>
+<p class="POD_TEXT">
+name of the person to contact
+</p>
+</ul>
+<p class="POD_TEXT">
+And zero or more of the following attributes assigned to each human for
+messaging when there are problems:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="email"><p>email</p></a>
+<p class="POD_TEXT">
+email address
+</p>
+<li class="POD_ITEM"><a name="skytel"><p>skytel</p></a>
+<p class="POD_TEXT">
+skytel pager number
+</p>
+<li class="POD_ITEM"><a name="alltelsms"><p>alltelsms</p></a>
+<p class="POD_TEXT">
+phone number of a phone subscriber to Alltel Communications SMS service.
+</p>
+<li class="POD_ITEM"><a name="teletouch"><p>teletouch</p></a>
+<p class="POD_TEXT">
+teletouch pager number
+</p>
+<li class="POD_ITEM"><a name="teletouch_short"><p>teletouch_short</p></a>
+<p class="POD_TEXT">
+teletouch pager number for small alpha pagers
+</p>
+<li class="POD_ITEM"><a name="group"><p>group</p></a>
+<p class="POD_TEXT">
+A group of $HUMANS to contact.
+</p>
+</ul>
+<p class="POD_TEXT">
+These attributes are messaging modules names for sending out notifications to
+people. All of the messing modules are loaded by <b>spong-message</b> as a plug-in
+modules. The attributes listed above are the messaging modules that are part of
+the current Spong distribution.  New messaging modules can be easily be
+developed. See the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage and the the <a class="POD_LINK" href="developer-guide.html">developer-guide</a> manpage for more details).
+</p>
+<pre class="POD_TEXT">
+The <i>group</i> attribute designates a group contact. It is a string that holds a
+list of one or more %HUMANS entries seperated by spaces or comma. The
+the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage program will expand each entry in the <i>group</i> attribute
+to a seperate contact in the current the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage file context. For
+example:
+
+ spong.hosts:
+   %HUMANS = ( 
+     'bob'   =&gt; { name =&gt; 'Bob Smith', email =&gt; 'bob@example.com', },
+     'ray'   =&gt; { name =&gt; 'Ray R.',    pager =&gt; '8145551234', }
+     'admins' =&gt; { name =&gt; 'Unix Admins', group =&gt; 'bob,ray' },
+   );
+
+ spong.message:
+   $MESSAGING_RULES = [
+     { hosts =&gt; ['dns.*'], services =&gt; ['dns'], 
+       contacts =&gt; [ { rcpts='admins', delay =&gt; 600, repeat=&gt; 600 } ],
+     },
+   ];
+</pre>
+<p class="POD_TEXT">
+If the $MESSAGEING_RULES rule triggers, it will add 'bob' and 'ray' as contacts
+with attributes of 'delay =&gt; 600' and 'repeat =&gt; 600'.
+</p>
+<h2 class="POD_HEAD1"><a name="FORMAT">FORMAT</a></h2>
+<p class="POD_TEXT">
+The <code>spong.conf</code> file is simply Perl code that gets imported by each spong
+program, so the only real format restrictions is just what is syntactically
+correct in Perl (which some would say is anything 8-).
+</p>
+<p class="POD_TEXT">
+What is expected in this file are the definitions for two hashes of hashes (in
+Perl speak). The <i>%HOSTS</i> hash, and the <i>%HUMANS</i> hash. If you are
+not comfortable with Perl lingo, then just think of them as stanza definitions.
+</p>
+<pre class="POD_TEXT">
+First, the HUMANS. The following describes the &lt;%HUMANS&gt; hash.
+
+   %HUMANS = ( [stanza], [stanza], [stanza] );
+</pre>
+<pre class="POD_TEXT">
+where [stanza] is a second hash, that looks like the following:
+
+   'unix-staff' =&gt; { name =&gt; 'Midrange On-call Staff',
+                     email =&gt; 'unix-staff@school.edu',
+                     skytel =&gt; '1234567' },
+</pre>
+<p class="POD_TEXT">
+What this says is that the 'unix-staff' human has the following attributes
+(name = Midrange On-call Staff, email = unix-statff@school.edu, skytel =
+1234567).
+</p>
+<pre class="POD_TEXT">
+Now, the HOSTS. The following describes the <b>%HOSTS</b> hash.
+
+   %HOSTS = ( [stanza], [stanza], [stanza] );
+</pre>
+<pre class="POD_TEXT">
+where [stanza] is a second hash, that looks like the following:
+
+   'www.uiowa.edu' =&gt; { services =&gt; 'ftp smtp http',
+                        ip_addr  =&gt; ['192.168.15.2','10.2.124.200'],
+                        down      =&gt; [ '*:0015-0030','6:23:00-23:59']
+                     },
+</pre>
+<p class="POD_TEXT">
+What this says is that the 'www.uiowa.edu' host has the following attributes
+(services = ftp smtp http; ip address=192.168.15.2 and 10.2.124.200;
+and down time of 12:15AM-12:30AM every day and from 11:00PM-12:00PM on
+Saturdays).
+</p>
+<p class="POD_TEXT">
+I know the format can be a little odd at first, but I chose it because
+of both its simplicity to work with in the code (I don't have to parse
+anything - Perl does all the work), and because it is easy to extend -
+adding additional attributes is quite straightforward.
+</p>
+<h2 class="POD_HEAD1"><a name="EXAMPLE_h1">EXAMPLE/h1</a></h2>
+<pre class="POD_TEXT">
+Here are some lines from our spong.hosts file to show you possible
+configurations.
+
+   %HUMANS = (
+     'unix-staff' =&gt; { name  =&gt; 'Midrange On-call Staff',
+                       email =&gt; 'admin-staff@school.edu', },
+
+      'edhill'    =&gt;  { name  =&gt; 'Ed Hill',
+                        email =&gt; 'ed-hill@school.edu',
+                        skytel =&gt; '1234567' },
+
+   );
+
+   %HOSTS = (
+
+     'strobe.weeg.school.edu' =&gt;; { services =&gt; 'dns ftp smtp http',
+                                    ip_addr =&gt; [ '192.168.15.2',
+                                                 '10.2.124.200' ],
+                                    down =&gt; [ &quot;*:05:30-06:30&quot;,
+                                              &quot;0:00:00-04:00 ] },
+
+     'www.school.edu' =&gt; { services =&gt; 'ftp smtp http' },
+
+   );
+</pre>
+<h2 class="POD_HEAD1"><a name="COMPARABILITY_In_a_f">COMPARABILITY
+In a future release of spong the %HUMAN configuration information will
+be moved into the spong.message configuration file. It is currently being
+retained in the spong.hosts file for compatibility.</a></h2>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage, the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:06 2002
+</body>
+</html>
+
diff --git a/www/docs/spong.html b/www/docs/spong.html
new file mode 100755 (executable)
index 0000000..2607cff
--- /dev/null
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spong-ack.html">Next:<br>spong-ack</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="pre_redirect.html">Previous:<br>pre_redirect</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#OPTIONS">OPTIONS</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong</b> - character based Spong client interface program
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_RAW"><b>spong</b> [--summary [hostlist] | --problems [hostlist] | --history [hostlist] | --host host | --services host | --stats host <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | --config host | --info host | --service host:service ] [--brief | --standard | --full ]</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <b>spong</b> program interfaces with the <b>spong-server</b> to display the
+collected information; in text format. The <b>spong</b> program does not have all
+of the functionality of the web-based interface. It's designed to be used from
+character based consoles. The <b>spong</b> program doesn't not have to load onto the
+same machine that spong-server is running on. You load this program onto any
+machine. It is a good ideal to load this onto machines, when possible, to allow
+the administrator of the machine to query the <b>spong-server</b> when alert of
+received.
+</p>
+<p class="POD_TEXT">
+When run with any parameters, spong will display a table that lists
+the hosts and services. All of the displays are text based with the legends
+at the top.
+</p>
+<h2 class="POD_HEAD1"><a name="OPTIONS">OPTIONS</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_summary_HOSTLIST_"><b>--summary</b> [<i>HOSTLIST</i>]</a>
+<dd>
+Summarize the status of hosts, in HOSTLIST, in a table that lists
+the hosts and services, and the current status is a single letter with
+the meaning defined in the legend at the top of the display. If <i>HOSTLIST</i>
+if not specified all hosts defined in <code>spong.hosts</code> are displayed.
+<dt class="POD_ITEM"><a name="_problems_HOSTLIST_"><b>--problems</b> [<i>HOSTLIST</i>]</a>
+<dd>
+Shows a summary of all the problems (services that are red) for the all
+the hosts in &lt;HOSTLIST&gt;. If <i>HOSTLIST</i> is not specified, all hosts defined
+in <code>spong.hosts</code> are displayed.
+<dt class="POD_ITEM"><a name="_history_HOSTLIST_"><b>--history</b> [<i>HOSTLIST</i>]</a>
+<dd>
+Show history information for the the list of hosts in <i>HOSTLIST</i>. If
+<i>HOSTLIST</i> is not specified, all hosts defined in <code>spong.hosts</code> are
+displayed.
+<dt class="POD_ITEM"><a name="_host_HOST"><b>--host</b> <i>HOST</i></a>
+<dd>
+Shows all information available for the given <i>HOST</i>
+<dt class="POD_ITEM"><a name="_services_host"><b>--services</b> <i>host</i></a>
+<dd>
+Shows detailed service information for the given <i>HOST</i>.
+<dt class="POD_ITEM"><a name="_stats_HOST"><b>--stats</b> <i>HOST</i></a>
+<dd>
+Show statistical information for the given <i>HOST</i>. (Not currently
+implemented.)
+<dt class="POD_ITEM"><a name="_config_HOST"><b>--config</b> <i>HOST</i></a>
+<dd>
+Shows configuration information for the given <i>HOST</i>. (Not currently
+implemented.)
+<dt class="POD_ITEM"><a name="_info_HOST"><b>--info</b> <i>HOST</i></a>
+<dd>
+Shows admin supplied text for the given <i>HOST</i>.
+<dt class="POD_ITEM"><a name="_service_HOST_SERVIC"><b>--service</b> <i>HOST:SERVICE</i></a>
+<dd>
+Shows detailed information for the given HOST/SERVICE.
+<dt class="POD_ITEM"><a name="_brief"><b>--brief</b></a>
+<dd>
+Display output in a brief format.
+<dt class="POD_ITEM"><a name="_standard"><b>--standard</b></a>
+<dd>
+Display output in standard format (the default)
+<dt class="POD_ITEM"><a name="_full"><b>--full</b></a>
+<dd>
+Display the maximum amount of information possible.
+</dl>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+By default the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage file is read on startup. It defines some specific
+variable that you probably don't need to override.
+</p>
+<p class="POD_TEXT">
+After reading the configuration file, then reads the
+<code>spong.conf.[host]</code> file where [host] is the host name 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.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<p class="POD_TEXT">
+Here are a list of variables in the spong.conf file that are applicable
+to the spong-server program:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The make of the server that spong-server is running on.
+<dt class="POD_ITEM"><a name="_SPONG_QUERY_PORT">$SPONG_QUERY_PORT</a>
+<dd>
+The port number that spong-server listens at for database queries.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_conf">spong.conf</a>
+<dd>
+Configuration file. This contains variables that detail spong and OS specific
+definitions used by spong-server.
+</dl>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+The <b>--stats</b>, <b>--config</b>, and <b>--info</b> parameters are currently
+not implemented in the spong-server. When specified they will just generate
+a blank HTML page.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<pre class="POD_TEXT">
+the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage
+
+ http://spong.sourceforge.net/  the Spong Home Page
+</pre>
+<p></p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:01 2002
+</body>
+</html>
+
diff --git a/www/docs/spong.message.html b/www/docs/spong.message.html
new file mode 100644 (file)
index 0000000..23e4edc
--- /dev/null
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spong.message</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spongfaq.html">Next:<br>spongfaq</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.hosts.html">Previous:<br>spong.hosts</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spong.message</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION_VARIAB">CONFIGURATION VARIABLES</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#_RULES_MATCH">$RULES_MATCH</a>
+<li><a class="POD_NAVLINK" href="#_MESSAGING_RULES">$MESSAGING_RULES</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FORMAT">FORMAT</a>
+<li><a class="POD_NAVLINK" href="#MESSAGE_TEMPLATES">MESSAGE TEMPLATES</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Messaging_Modules">Messaging Modules</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#MATCHING_LOGIC">MATCHING LOGIC</a>
+<li><a class="POD_NAVLINK" href="#EXAMPLES">EXAMPLES</a>
+<li><a class="POD_NAVLINK" href="#COMPATIBILITY">COMPATIBILITY</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>spong.message</b> - define rules on how and when to send notifications
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <code>spong.message</code> file defines the rules that <b>spong-message</b> program used
+for notifications. The rules consist of attributes which define criteria
+which events are matched against and a list of contacts to notify if all
+of the matching criteria are met.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION_VARIAB">CONFIGURATION VARIABLES</a></h2>
+<h3 class="POD_HEAD2"><a name="_RULES_MATCH">$RULES_MATCH</a></h3>
+<p class="POD_TEXT">
+The variable governs the matching rules are processed. The possible values
+are 'OLD', 'FIRST-MATCH', or 'ALL'.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="OLD">OLD</a>
+<dd>
+This cause <b>spong-message</b> to use the notification logical from Spong 2.1.
+This is intended an aid in migrating a Spong 2.1 installation to Spong 2.5
+and above. The existing notification scheme can be used until new messaging
+rules are developed and debugged.
+<p class="POD_TEXT">
+This functionality will be removed at some point in the future.
+</p>
+<dt class="POD_ITEM"><a name="FIRST_MATCH">FIRST-MATCH</a>
+<dd>
+This value causes the rules matching engine to stop after the first successful
+match. The matching rule is processed, and then the spong-message program 
+terminates.
+<dt class="POD_ITEM"><a name="ALL">ALL</a>
+<dd>
+This values causes the rules matching engine to scan all rules. It will
+process all successful matches.
+</dl>
+<h3 class="POD_HEAD2"><a name="_MESSAGING_RULES">$MESSAGING_RULES</a></h3>
+<p class="POD_TEXT">
+Each rule should have more of more of the following matching 
+terms:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="name"><p>name</p></a>
+<p class="POD_TEXT">
+The is a comment field to allow the rule to be described. This field
+is printed on certain lines when the <b>--debug</b> switch is specified.
+</p>
+<li class="POD_ITEM"><a name="hosts"><p>hosts</p></a>
+<p class="POD_TEXT">
+A list of one or more regular expressions that are matched against the host
+name of the status event. If the one of the expression matches the host name,
+the term is considered matched.
+</p>
+<li class="POD_ITEM"><a name="host_groups"><p>host_groups</p></a>
+<p class="POD_TEXT">
+A list of one or more host group names from <code>spong.groups</code> (see
+the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage). The host name of the event check against all of the members
+of the specified groups. If it is found, this attribute is considered matched.
+</p>
+<li class="POD_ITEM"><a name="services"><p>services</p></a>
+<p class="POD_TEXT">
+A list of one or more regular expressions that are matched against the service
+name of the status event. If one of the expression matches the service name,
+the term is considered matched.
+</p>
+<li class="POD_ITEM"><a name="times"><p>times</p></a>
+<p class="POD_TEXT">
+A list of one or more day-of-week ranges and/or time ranges combinations which
+are checked against the time stamp of the status event. If one of the day/time
+combinations matched, the term is considered matched.
+</p>
+<li class="POD_ITEM"><a name="exclude_hosts"><p>exclude_hosts</p></a>
+<p class="POD_TEXT">
+A list of one or more regular expressions that are matched against the host
+name of the status event. If at least one of the expressions matches the host
+name, the term is considered an exclusion match.
+</p>
+<li class="POD_ITEM"><a name="exclude_services"><p>exclude_services</p></a>
+<p class="POD_TEXT">
+A list of one or more regular expressions that are matched against the host
+name of the status event. If at least one of the expressions matched the service
+name, the term is considered an exclusion match.
+</p>
+<li class="POD_ITEM"><a name="exclude_host_groups"><p>exclude_host_groups</p></a>
+<p class="POD_TEXT">
+A list of one or more host group names from the <code>spong.groups</code>  (see the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage). If the host name of the status event is a member of one of the host
+groups, the term is considered an exclusion match.
+</p>
+<li class="POD_ITEM"><a name="exclude_colors_or_ex"><p>exclude_colors or exclude_status</p></a>
+<p class="POD_TEXT">
+A list of one of more status colors ('red', 'yellow', or 'green'). If the
+status color is the event matches one of the colors in the list, the term is
+considered an exclusion match.
+</p>
+<li class="POD_ITEM"><a name="last_if_match"><p>last_if_match</p></a>
+<p class="POD_TEXT">
+A flag that can have the value of '1' or '0'. The rules scanner will quit
+processing if <i>last_if_match</i> is set for a rule and all of the matching
+terms succeed. This flag is only usefull if the the <a class="POD_LINK" href="#_RULES_MATCH">$RULES_MATCH</a> entry elsewhere in this document configuration
+variable is set to <b>ALL</b>.
+</p>
+</ul>
+<p class="POD_TEXT">
+And each rule must have the following attributes:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="contacts"><p>contacts</p></a>
+<p class="POD_TEXT">
+A list of contact stanzas that are to be notified if the rules is matched.
+</p>
+</ul>
+<p class="POD_TEXT">
+Each of the elements of the <i>hosts</i>, <i>services</i>, <i>exclude_hosts</i>, and
+<i>exclude_services</i> are actually Perl regular expressions. You can use wide
+cards to specify which groups of hosts or services to match.
+</p>
+<p class="POD_TEXT">
+The <i>times</i> term is a list of stanzas that have days of the week
+(<i>days</i>) and/or time ranges (<i>times</i>) to match against the time parameter
+passed to spong-message. Each times stanza can have a days and/or a times
+attributes.
+</p>
+<p class="POD_TEXT">
+The <i>days</i> attributes are a list of strings with the following format -
+'d' or 'd-d'. Where d is the day of the where (0-6, 0=Sunday, 6=Saturday).
+And 'd-d' represents a range of days (i.e. 1-5 = Monday - Friday).
+</p>
+<p class="POD_TEXT">
+The <i>times</i> attributes are a list of string with the following format -
+'hh:mm-hh:mm'. This is a starting and ending time of a time range in 24
+hour format.
+</p>
+<p class="POD_TEXT">
+<b>Note:</b> The <i>down</i> attribute in a host's entry in the <code>spong.hosts</code> file has the effect of an &quot;<i>exclude_times</i>&quot; term for the host. If the timestamp of
+a status event matched on a <i>down</i> downtime period, no notifications will
+be sent. See the section on <a class="POD_LINK" href="spong.hosts.html#down_down_service">down</a> in the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage for more details.
+</p>
+<p class="POD_TEXT">
+The <i>contacts</i> term is a list of stanzas representing the contacts to notify
+if the rule's matching criteria are met. Each stanza can be
+a string or a contact stanza. The strings can be one of the following
+formats - 'human', 'human:func' where human is a strings represent an
+entry from the %HUMANS defined in <code>spong.hosts</code>
+and func is one of the message module attributes defined for that human.
+</p>
+<p class="POD_TEXT">
+A contact entry can also be a stanza The stanza  must have a 'rcpt' attribute
+which is a <i>contact</i> strings as defined above (i.e. 'human' or 'human:func').
+It can also have an optional <i>delay</i> and/or <i>repeat</i> attribute.  The <i>delay</i>
+attribute is the duration, in seconds, that an event be in an alert status
+before the <i>rcpt</i> is notified. The <i>repeat</i> attribute is the time interval,
+in seconds, in which notifications are resent once an initial notification is
+sent.
+</p>
+<h2 class="POD_HEAD1"><a name="FORMAT">FORMAT</a></h2>
+<p class="POD_TEXT">
+The spong.message file is simply Perl code that gets imported the
+<b>spong-message</b> program, so the only real format restrictions is just what is
+syntactically correct in Perl (which some would say is anything 8-).
+</p>
+<p></p>
+<pre class="POD_TEXT">
+What is expected in this file are the definition for the <i>$MESSAGING_RULES</i>
+and <i>$RULES_MATCH</i> which determines how the rules are processed.  If you are
+not comfortable with Perl lingo, then just think of them as stanza definitions.
+
+    $MESSAGING_RULES = [ [stanza], [stanza], [stanza] ]
+</pre>
+<pre class="POD_TEXT">
+where [stanza] is a second hash, that looks like the following:
+
+  { hosts =&gt; [ 'unixweb', '.*-ops.cic.myschool.edu', 'steves-pc' ]
+    services =&gt; [ '.*' ],
+    exclude_hosts =&gt; [ 'backup-ops.cic.myschool.edu'],
+    exclude_services =&gt; [ 'dns', 'ssh'],
+    times =&gt; [
+               { days=&gt; ['0','1-3','4-5'],
+                 times=&gt; ['06:30-18:30','21:00-22:00'
+               },
+               { days =&gt; ['5','6','0-2'] },
+               { times =&gt; ['13:00-15:23','00:00-23:39'] },
+             ],
+    contacts =&gt; [ 'ops', 'sjohnson:email',
+                  { rcpt=&gt;'sjohnson:teletouch', delay=&gt;900, repeat=&gt;600 },
+                  { rcpt=&gt;'the_supervisor:teletouch', delay=3600,
+                    repeat=&gt;1800 },
+                  # This contact should get be notified or else !!!!!
+                  { rcpt=&gt;'the_boss', delay=&gt;7200, repeat=&gt;3600 },
+                ],
+  },
+</pre>
+<p class="POD_TEXT">
+The <b>$RULES_MATCH</b> variable has three possible values:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="OLD1"><b>OLD</b></a>
+<dd>
+Use Spong ver 2.1 messaging. Send notification the human defined in the
+contact attribute for the host name of the message.
+<dt class="POD_ITEM"><a name="FIRST_MATCH1"><b>FIRST-MATCH</b></a>
+<dd>
+Rules are checked in order until the first rules matches. Contacts are notified and <b>spong-message</b> exits.
+<dt class="POD_ITEM"><a name="ALL1"><b>ALL</b></a>
+<dd>
+Rules are checked into order. All matching rules are processed.
+</dl>
+<p class="POD_TEXT">
+I know the format can be a little odd at first and overwhelming at first, but I
+chose it because of both its simplicity to work with in the code (I don't have
+to parse anything - Perl does all the work), and because it is easy to extend -
+adding additional attributes is quite straightforward.
+</p>
+<h2 class="POD_HEAD1"><a name="MESSAGE_TEMPLATES">MESSAGE TEMPLATES</a></h2>
+<p class="POD_TEXT">
+Notification messages formats are determined by the templates in the
+<code>%TEMPLATES</code> variable in the <code>spong.message</code> file. Templates are searched
+according to the following order: 'contact:module', 'module', 'contact',
+'DEFAULT'.
+</p>
+<p class="POD_TEXT">
+Any text in a template string is added verbatim to the message. The list of
+substitution variables can be added to the template strings.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_HOST_">!!HOST!!</a>
+<dd>
+Full domain of the system of the event message.
+<dt class="POD_ITEM"><a name="_SHORTHOST_">!!SHORTHOST!!</a>
+<dd>
+The short host name of the system of the event message.
+<dt class="POD_ITEM"><a name="_COLOR_and_STATUS_">!!COLOR!! and !!STATUS!!</a>
+<dd>
+The status color ('green', 'yellow', or 'red') of the status message.
+<dt class="POD_ITEM"><a name="_WWWSPONG_">!!WWWSPONG!!</a>
+<dd>
+The $WWWSPONG URL variable from the <code>spong.conf</code> configuration variable.
+<dt class="POD_ITEM"><a name="_SUMMARY_">!!SUMMARY!!</a>
+<dd>
+The summary message field in the status message.
+<dt class="POD_ITEM"><a name="_DETAILED_">!!DETAILED!!</a>
+<dd>
+The detailed message field of the status message. The value of this variable
+can be very large and have multiple lines of text.
+<dt class="POD_ITEM"><a name="_DETAILEDHTML_">!!DETAILEDHTML!!</a>
+<dd>
+This is the same the !!DETAILED!! except that the field is HTMLized (i.e.
+newlines replaced with &lt;br&gt;, etc.). This will allow HTML message to be sent
+and formatted properly.
+<dt class="POD_ITEM"><a name="_CURTIME_">!!CURTIME!!</a>
+<dd>
+The current system time formatted according to $DATETIMEFMT
+<dt class="POD_ITEM"><a name="_DATE_">!!DATE!!</a>
+<dd>
+The date of the event message formatted according to $DATEFMT
+<dt class="POD_ITEM"><a name="_TIME_">!!TIME!!</a>
+<dd>
+The date of the event message formated according to $TIMEFMT
+<dt class="POD_ITEM"><a name="_DATETIME_">!!DATETIME!!</a>
+<dd>
+The date/time of the event message formatted according to $DATETIMEFMT
+</dl>
+<h3 class="POD_HEAD2"><a name="Messaging_Modules">Messaging Modules</a></h3>
+<p></p>
+<h2 class="POD_HEAD1"><a name="MATCHING_LOGIC">MATCHING LOGIC</a></h2>
+<p class="POD_TEXT">
+The primary factor of how spong.message rules are processed depends upon the
+value of <i>$RULES_MATCH</i>. If set to 'OLD' then the rules are not used at all.
+<b>spong-message</b> reverts back to it Spong version 2.1 behavior. Notify the
+human defined in the contact attribute of the &lt;b&gt;%HOST/b entry for the host.
+</p>
+<p class="POD_TEXT">
+This functionality included for backwards compatibility and to aid in migrating old Spong vers 2.0 and Spong 2.1 installations to the current version. It will
+be removed some future version of Spong.
+</p>
+<p class="POD_TEXT">
+If <i>%RULES_MATCH</i> is set to 'FIRST-MATCH' then the rules are check in order
+until the first rule matching the event parameters. <b>spong-message</b> will then
+begin notification processing. All of the contacts will be notified and then
+the program will exit.
+</p>
+<p class="POD_TEXT">
+If <i>$RULES_MATCH</i> is set to 'ALL' then all
+of the rules are scan in order. The contacts of all matching rules are adding
+to the list of recipients that will be notified. After rule matching is
+finished all of the contacts are be notified.
+</p>
+<p class="POD_TEXT">
+All of the matching attributes except for <i>exclude_hosts</i>,
+<i>exclude_services</i> and <i>exclude_host_groups</i> have an automatic &quot;match if
+absent&quot; property. For example, if the <i>hosts</i> attribute is missing from a
+rule, that rule will match any host name.
+</p>
+<p class="POD_TEXT">
+The <i>exclude_hosts</i>, <i>exclude_services</i>, and <i>exclude_host_groups</i> terms
+have a slightly different matching behavior man the others. If there is a
+match against any of them, the rule will not match even if all of the other
+terms match. For example, if a rules has <b>hosts =</b> [ '.*.cic.my-company',
+'.*.corp.my-company.com' ]&gt; and <b>exclude_hosts[ 'my-pc' ]</b>, a host name of
+'my-pc.corp.my-company.com' will not match against this rule because of the
+host name matches the <i>exclude_hosts</i> attribute.
+</p>
+<p class="POD_TEXT">
+The <i>times</i> term's attributes, <i>days</i> and <i>times</i> , have the automatic
+&quot;match if absent&quot; property also. If one of the sub-attributes is missing from a
+stanza any check against that attribute will succeed.  That is, if <i>days</i> is
+missing from the stanza, any day of the week will match against the stanza. If
+the <i>times</i> attribute is missing, the stanza matches against any
+time.
+</p>
+<p></p>
+<h2 class="POD_HEAD1"><a name="EXAMPLES">EXAMPLES</a></h2>
+<pre class="POD_TEXT">
+Here are some lines from our spong.hosts file to show you possible
+configurations.
+
+  $MESSAGING_RULES = [
+
+      # Franks Notifications
+      # Let him know about if it has been down for 30 minute or more.
+      {
+         hosts =&gt; [ '.*' ],
+         services =&gt; [ '.*' ],
+         contacts =&gt; [ {rcpt=&gt;'fsipes', delay=&gt;1800}, ],
+         exclude_hosts =&gt; ['tunixt'],
+         exclude_services =&gt; ['test'],
+      },
+
+      # Please note the previous stanza can also be written as follows
+      # Both stanzas are equivalent.
+      {
+         contacts =&gt; [ {rcpt=&gt;'fsipes', delay=&gt;1800}, ],
+         exclude_hosts =&gt; ['tunixt'],
+         exclude_services =&gt; ['test'],
+      },
+
+      # Let Dwayne in Engineering know when a system does down and dns problems
+      # except for the test box and only send him down messages
+      {
+          hosts =&gt; ['.*'],
+          services =&gt; ['ping','ftp','smtp','dns'],
+          exclude_host =&gt; ['tunixt'],
+          exclude_colors =&gt; ['green','yellow']
+          contacts =&gt; [ 'dstucker' ],
+      },
+
+      # Let me know about everything except the test box except late at
+      # night
+      {
+         hosts =&gt; ['.*'],
+         services =&gt; ['.*'],
+         exclude_services =&gt; ['nntp','ntp'],
+         exclude_hosts =&gt; ['tunixt'],
+          contacts =&gt; ['sjohnson'],
+          times =&gt; [
+                    { times =&gt; ['06:00-21:00'] },
+                   ],
+      },
+
+      # Notify the unix oncall pager about the k12 systems after hours
+      # during week days and anytime on the weekend and repeat them
+      # every 15 minutes until acknowledged
+      {
+          host_groups =&gt; [ 'apscn' ],
+          exclude_services =&gt; ['nntp','ntp'],
+          exclude_hosts =&gt; ['tunixt'],
+          contacts =&gt; [ { rcpt=&gt;'unix-oncall:teletouch', repeat=&gt;900}, ],
+          times =&gt; [
+                { days =&gt; ['1-5'], times =&gt; ['17:00-23:59','00:00-08:00'] },
+                { days =&gt; ['0','6'] },
+                   ],
+          },
+
+    ];
+</pre>
+<h2 class="POD_HEAD1"><a name="COMPATIBILITY">COMPATIBILITY</a></h2>
+<p class="POD_TEXT">
+To use Spong version 2.1 <b>spong-message</b> and messaging configurations set
+<i>$RULES_MATCH</i> to 'OLD'. If <b>$RULES_MATCH</b> is not defined it will default
+to 'OLD'.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage, the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:07 2002
+</body>
+</html>
+
diff --git a/www/docs/spongfaq.html b/www/docs/spongfaq.html
new file mode 100644 (file)
index 0000000..f8c4718
--- /dev/null
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>spongfaq</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="todo.html">Next:<br>todo</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spong.message.html">Previous:<br>spong.message</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">spongfaq</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#1_What_is_Spong_">1. What is Spong?</a>
+<li><a class="POD_NAVLINK" href="#2_Why_doesn_t_my_spo">2. Why doesn't my spong-client status update show up?</a>
+<li><a class="POD_NAVLINK" href="#3_How_do_I_get_e_mai">3. How do I get e-mail/paging/alpha paging/notifications to work?</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#AUTHORSHIP_and_COPYR">AUTHORSHIP and COPYRIGHT</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+spongfaq - frequently asked questions about Spong ($Revision: 1.1 $, $Date: 2005/09/30 07:47:25 $)
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This document contains a list of the most Frequently Asked Questions
+(FAQ) about Spong. It is really not a HOWTO, but is in a classical Question
+/ Answer form.
+</p>
+<h3 class="POD_HEAD2"><a name="1_What_is_Spong_">1. What is Spong?</a></h3>
+<p class="POD_TEXT">
+This is hopefully a <b>simple</b> 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
+</p>
+<p class="POD_TEXT">
+It has the following features:
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="client_based_monitor"><p>client based monitoring (CPU, disk, processes, logs, etc...)</p></a>
+<li class="POD_ITEM"><a name="monitoring_of_networ"><p>monitoring of network services (smtp, http, ping, pop, dns, etc...)</p></a>
+<li class="POD_ITEM"><a name="grouping_of_hosts_ro"><p>grouping of hosts (routers, servers, workstations, PCs)</p></a>
+<li class="POD_ITEM"><a name="rules_based_messagin"><p>rules based messaging when problems occur</p></a>
+<li class="POD_ITEM"><a name="configurable_on_a_ho"><p>configurable on a host by host basis</p></a>
+<li class="POD_ITEM"><a name="results_displayed_vi"><p>results displayed via text or web based interface</p></a>
+<li class="POD_ITEM"><a name="history_of_problems"><p>history of problems</p></a>
+<li class="POD_ITEM"><a name="verbose_information_"><p>verbose information to help diagnosis problems</p></a>
+</ul>
+<p></p>
+<h3 class="POD_HEAD2"><a name="2_Why_doesn_t_my_spo">2. Why doesn't my spong-client status update show up?</a></h3>
+<p class="POD_TEXT">
+If your spong-client is setup and runs properly (i.e. spong-client --debug
+shows that the checks are being run and the results are being sent to the
+spong-server). Depending on how your server is setup, the full domain name of
+your host may not returned with the code that spong-client uses.
+</p>
+<p class="POD_TEXT">
+The spong-server has a bit of security for status update messages. The
+host name in the status message must match a host name defined in the spong.hosts
+files. spong-client uses the gethostbyname() function to try to resolve
+the host's full name. If it just gets the host name without the domain,
+spong-server will quietly reject and drop the message.
+</p>
+<p></p>
+<pre class="POD_TEXT">
+You can run the perl snippet below to determine what host name that
+spong-client is resolving for the machine it is running on.
+
+   perl -MSys::Hostname -e \
+       '($h) = (gethostbyname(Sys::Hostname::hostname()))[0]; print &quot;$h\n&quot;'
+</pre>
+<p class="POD_TEXT">
+It should print out you the fully qualified domain name of your system.
+This should match the hostname configured in the song.hosts file on the
+spong-server machine. If they don't match then you can do 1 of 2 things.
+</p>
+<pre class="POD_TEXT">
+In your hosts file make use that the full domain name is the first name
+of your host's line. i.e.
+
+   192.168.2.34  my-host.inkcom.com my-host
+</pre>
+<p class="POD_TEXT">
+Or put if your system is in your DNS server properly, make sure that 'dns' is
+in front of 'file' on the hosts: line of the /etc/nsswitch.conf file.
+</p>
+<p class="POD_TEXT">
+There a utility <b>gethost-test</b> in the <code>/utils/</code> directory of
+the Spong distribution. You can run it on a machine to make sure that it
+is setup correctly to resolve it's full quality domain name. The utility
+is run by enter the following command <code>perl gethost-test</code>.
+</p>
+<p class="POD_TEXT">
+If none of the above works or can't make the changes, you still have one last
+resort. The <code>spong.conf</code> and <code>spong.conf.&lt;hostname&gt;</code> file are loaded
+after the $HOST variable is assigned. That mean that you can override the
+calculated $HOST hostname. Just added at '$HOST = &quot;desired host name&quot;;'
+statement in either of the <code>spong.conf</code> or <code>spong.conf.&lt;hostname&gt;</code>
+files.
+</p>
+<h3 class="POD_HEAD2"><a name="3_How_do_I_get_e_mai">3. How do I get e-mail/paging/alpha paging/notifications to work?</a></h3>
+<p class="POD_TEXT">
+The most important thing is to go through the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage,
+and the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage configuration files. And be sure to read the documentation
+for the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage the <a class="POD_LINK" href="spong.message.html">spong.message</a> manpage, configuration files and the
+the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage and the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage programs.
+</p>
+<p class="POD_TEXT">
+If you are still having problems, follow the check list below to help
+resolve your problem.
+</p>
+<ol class="POD_LIST">
+<li class="POD_ITEM"><a name="_SEND_MESSAGE"><p>$SEND_MESSAGE in spong.conf</p></a>
+<p class="POD_TEXT">
+In spong.conf make sure the $SEND_MESSAGE is set to 'RED', 'CHANGE' or
+'RED-CHANGE'.
+</p>
+<li class="POD_ITEM"><a name="_RULES_MATCH"><p>$RULES_MATCH in spong.conf</p></a>
+<p class="POD_TEXT">
+In spong.message make sure that $RULES_MATCH is set to 'ALL' or
+'FIRST-MATCH'.  If you set it to 'OLD', spong-message will revert to the old
+notification method in Spong 2.0 - 2.1.
+</p>
+<li class="POD_ITEM"><a name="Messaging"><p>Messaging rules in spong.message</p></a>
+<pre class="POD_TEXT">
+If your are having problems with defining your rules, put in a very
+minimal rules set.
+
+   $MESSAGING_RULES = [
+                         {
+                            contacts =&gt; [ 'sjohnson' ]
+                         },
+                      ];
+</pre>
+<p class="POD_TEXT">
+This will send everything to the 'sjohnson' contact.
+</p>
+<li class="POD_ITEM"><a name="_HUMANS"><p>%HUMANS in spong.hosts</p></a>
+<pre class="POD_TEXT">
+In spong.hosts, you must define at least one contact (the %HUMANS in
+spong.hosts) in order to have any notifications sent. For the example rule
+setup above, to get e-mail sent to that user you can have an entry like:
+
+   %HUMANS = (
+      'sjohnson' =&gt; {
+                      name =&gt; 'Stephen Johnson',
+                      email =&gt; 'stephen.johnson@mailhost.at.my.com',
+                    },
+   );
+</pre>
+<li class="POD_ITEM"><a name="Testing"><p>Testing messaging rules</p></a>
+<p class="POD_TEXT">
+If you have a problem with your messaging rules, The spong-message program has 
+a debugging and test mode. These modes will allow you to check, test and tweak 
+your messaging rules in spong.message.
+</p>
+<pre class="POD_TEXT">
+Run the spong-message program from a command line as follows:
+
+  spong-message --debug --test color host service `perl -e &quot;print time()&quot;` \
+     'This is a test.'
+</pre>
+<p class="POD_TEXT">
+The --debug flag will output a large amount of detailed output about what the 
+program is doing. The --test flag if the test mode flag. Spong-message will do 
+everyting but send out the notifications.
+</p>
+<p class="POD_TEXT">
+color = status color - green, yellow, or red
+hostname = a hostname from your spong.hosts file
+service = a service name that you are testing.
+</p>
+<p class="POD_TEXT">
+The back-ticked perl expression just prints the current system time in epoch 
+format. And the &quot;The is a test.&quot; field is the summary message from a status 
+update message.
+</p>
+<p class="POD_TEXT">
+The --debug output is very detailed about every step that the spong-message 
+program is doing. You may need to redirect the output to a file in order to 
+look at.
+</p>
+<p class="POD_TEXT">
+Spong Message will detail step-by-step all of the matched it attempts and the 
+resultsand actions of those matches. It will refer to rules by an index number 
+starting with the number zero (0) for the first rule.
+</p>
+<pre class="POD_TEXT">
+To test days and times ranges your will need to caculate a specific date/time 
+into an epoc or calender time format to feed it to spong-message. You can use 
+this short perl code snippet to do it.
+
+  perl -MPOSIX -e 'print mktime(  sec, min, hour, day, (month - 1) , \
+               (year - 1900) ), &quot;\n&quot;'
+</pre>
+<p class="POD_TEXT">
+The time is in 24 hour format and the year is the 4 digit year. This will 
+print a large number. Use the number in place of the back-ticked perl 
+expression on spong-message command.
+</p>
+<li class="POD_ITEM"><a name="Testing1"><p>Testing with spong-server</p></a>
+<p class="POD_TEXT">
+The best way to test everything to set $SEND_MESSAGE to 'CHANGE' and run
+spong-server in debug mode with a debug level of at least 3 (i.e. spong-server
+--debug 3 ). This will cause spong-server to call spong-message for every
+chagne in status of any host . And spong-server will call spong-message in
+debug mode also. This will let you see everying that spong-server and
+spong-message is doing. You will see spong-server say something like &quot;change in
+state to red messaging a human.&quot; in it's debug output when it is sending out
+notifications.
+</p>
+<p class="POD_TEXT">
+Once you have your single contact / single messaging rule configuration
+working.  Change $SEND_MESSAGE to what you desire. And then start adding in
+more messaging rules and contacts. But continue testing your spong.message
+config file as described above (see &quot;Testing Messaging Rules&quot;).
+</p>
+</ol>
+<h2 class="POD_HEAD1"><a name="AUTHORSHIP_and_COPYR">AUTHORSHIP and COPYRIGHT</a></h2>
+<p class="POD_TEXT">
+Copyright (c) 1999-2000 Stephen L Johnson
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:07 2002
+</body>
+</html>
+
diff --git a/www/docs/spongindex.html b/www/docs/spongindex.html
new file mode 100644 (file)
index 0000000..ebba94d
--- /dev/null
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>Index</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="www-spong-ack.html">Previous:<br>www-spong-ack</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">Index</h1>
+<hr>
+<h2 class="PODIDX">A</h2>
+a more detailed message providing additional detail.&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#a_more_detailed_mess">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#a_more_detailed_mess">[spong-network]</a><br>
+a one line summary&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#a_one_line_summary">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#a_one_line_summary">[spong-network]</a><br>
+ack-id&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#ack_id">[spong-ack]</a><br>
+Acknowledge Problem Display&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Acknowledge_Problem_">[user-guide]</a><br>
+Acknowledgements&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Acknowledgements">[user-guide]</a><br>
+Action Bar&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Action_Bar">[user-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Action_Bar1">[user-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Action_Bar2">[user-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Action_Bar3">[user-guide]</a><br>
+ALL&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#ALL">[spong.message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#ALL1">[spong.message]</a><br>
+alltelsms&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#alltelsms">[spong.hosts]</a><br>
+<h2 class="PODIDX">B</h2>
+--batch&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#_batch">[spong-ack]</a><br>
+--brief&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_brief">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_brief">[www-spong]</a><br>
+BLUE&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#BLUE">[user-guide]</a><br>
+<h2 class="PODIDX">C</h2>
+!!COLOR!! and !!STATUS!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_COLOR_and_STATUS_">[spong.message]</a><br>
+!!CURTIME!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_CURTIME_">[spong.message]</a><br>
+$CHECKS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_CHECKS">[spong-client]</a><br>
+$color&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#_color">[developer-guide]</a><br>
+$CPUWARN, $CPUCRIT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_CPUWARN_CPUCRIT">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_CPUWARN_CPUCRIT">[spong.conf]</a><br>
+--cmd status|page&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_cmd_status_page">[spong-status]</a><br>
+--color &lt;COLOR&gt;&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_color_COLOR_">[spong-status]</a><br>
+--color|--status color&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_color_status_color">[spong-message]</a><br>
+--config HOST&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_config_HOST">[spong]</a><br>
+--config host&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_config_host">[www-spong]</a><br>
+cgi-bin/&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#cgi_bin_">[admin-guide]</a><br>
+CHECK&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#CHECK">[developer-guide]</a><br>
+checks&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#checks">[spong-client]</a><br>
+CLEAR&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#CLEAR">[user-guide]</a><br>
+client based monitoring (CPU, disk, processes, logs, etc...)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#client_based_monitor">[spongfaq]</a><br>
+cmd&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#cmd">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#cmd1">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#cmd2">[spong-server-mod-template]</a><br>
+color&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#color">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#color1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#color">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#color">[spong-server-mod-template]</a><br>
+COLOR&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#COLOR">[developer-guide]</a><br>
+color (&quot;red&quot;, &quot;yellow&quot;, &quot;green&quot;)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#color_red_yellow_gre">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#color_red_yellow_gre">[spong-network]</a><br>
+command&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#command">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#command1">[developer-guide]</a><br>
+compress&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.groups.html#compress">[spong.groups]</a><br>
+configurable on a host by host basis&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#configurable_on_a_ho">[spongfaq]</a><br>
+contacts&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#contacts">[spong.message]</a><br>
+<h2 class="PODIDX">D</h2>
+!!DATE!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_DATE_">[spong.message]</a><br>
+!!DATETIME!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_DATETIME_">[spong.message]</a><br>
+!!DETAILED!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_DETAILED_">[spong.message]</a><br>
+!!DETAILEDHTML!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_DETAILEDHTML_">[spong.message]</a><br>
+$DATEFMT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_DATEFMT">[spong.conf]</a><br>
+$DATETIMEFMT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_DATETIMEFMT">[spong.conf]</a><br>
+$DF, $UPTIME, $PS, $GREP&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_DF_UPTIME_PS_GREP">[spong-client]</a><br>
+$DF, $UPTIME, $PS, $GREP, $PING, $TRACEROUTE, $MAILQ&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_DF_UPTIME_PS_GREP_P">[spong.conf]</a><br>
+$duration&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#_duration">[developer-guide]</a><br>
+%DFWARN, %DFCRIT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_DFWARN_DFCRIT">[spong.conf]</a><br>
+--debug&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#_debug">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_debug">[spong-message]</a><br>
+--delete&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#_delete">[spong-ack]</a><br>
+@DFIGNORE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_DFIGNORE">[spong.conf]</a><br>
+DATA&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#DATA">[developer-guide]</a><br>
+Detail Message Field&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_interfaces.html#Detail_Message_Field">[check_interfaces]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_snmp.html#Detail_Message_Field">[check_snmp]</a><br>
+Detailed Information&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Detailed_Information">[user-guide]</a><br>
+detailed status message&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#detailed_status_mess">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#detailed_status_mess1">[developer-guide]</a><br>
+display&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.groups.html#display">[spong.groups]</a><br>
+down | down:service&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#down_down_service">[spong.hosts]</a><br>
+drop_msg&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#drop_msg">[spong-server-mod-template]</a><br>
+duration&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#duration">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#duration">[spong-server-mod-template]</a><br>
+<h2 class="PODIDX">E</h2>
+email&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#email">[spong.hosts]</a><br>
+end_time&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#end_time">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#end_time1">[spong-server-mod-template]</a><br>
+exclude_colors or exclude_status&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#exclude_colors_or_ex">[spong.message]</a><br>
+exclude_host_groups&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#exclude_host_groups">[spong.message]</a><br>
+exclude_hosts&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#exclude_hosts">[spong.message]</a><br>
+exclude_services&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#exclude_services">[spong.message]</a><br>
+Expected System Object ID&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_snmp.html#Expected_System_Obje">[check_snmp]</a><br>
+<h2 class="PODIDX">F</h2>
+--file FILENAME&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_file_FILENAME">[spong-status]</a><br>
+--file filename&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_file_filename">[spong-message]</a><br>
+--full&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_full">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_full">[www-spong]</a><br>
+FIRST-MATCH&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#FIRST_MATCH">[spong.message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#FIRST_MATCH1">[spong.message]</a><br>
+FLAGS&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#FLAGS">[developer-guide]</a><br>
+<h2 class="PODIDX">G</h2>
+%GROUPS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_GROUPS">[spong-server]</a><br>
+--grp-problems&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_grp_problems">[www-spong]</a><br>
+--grp-summary&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_grp_summary">[www-spong]</a><br>
+GREEN&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#GREEN">[user-guide]</a><br>
+group&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#group">[spong.hosts]</a><br>
+Group Section&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Group_Section">[user-guide]</a><br>
+Group Summary Display&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Group_Summary_Displa">[user-guide]</a><br>
+grouping of hosts (routers, servers, workstations, PCs)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#grouping_of_hosts_ro">[spongfaq]</a><br>
+<h2 class="PODIDX">H</h2>
+!!HOST!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_HOST_">[spong.message]</a><br>
+$HISTORY_FQDN&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_HISTORY_FQDN">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_HISTORY_FQDN">[spong.conf]</a><br>
+$host&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#_host">[developer-guide]</a><br>
+%HOSTS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_HOSTS">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_HOSTS">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_HOSTS">[spong-server]</a><br>
+%HTTPDOCS, %HTTPPORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_HTTPDOCS_HTTPPORT">[spong.conf]</a><br>
+%HUMANS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_HUMANS">[spong-message]</a><br>
+%HUMANS in spong.hosts&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#_HUMANS">[spongfaq]</a><br>
+--help&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_help">[spong-status]</a><br>
+--history [hostlist]&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_history_hostlist_">[www-spong]</a><br>
+--history [HOSTLIST]&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_history_HOSTLIST_">[spong]</a><br>
+--host host&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_host_host">[www-spong]</a><br>
+--host HOST&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_host_HOST">[spong]</a><br>
+--host hostname&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_host_hostname">[spong-message]</a><br>
+--host NAME&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_host_NAME">[spong-status]</a><br>
+header&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#header">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#header1">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#header2">[spong-server-mod-template]</a><br>
+History&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#History">[user-guide]</a><br>
+history of problems&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#history_of_problems">[spongfaq]</a><br>
+host&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#host">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#host1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#host">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#host">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#host">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#host1">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#host2">[spong-server-mod-template]</a><br>
+HOST&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#HOST">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#HOST1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#HOST2">[developer-guide]</a><br>
+Host Services Display&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Host_Services_Displa">[user-guide]</a><br>
+host_groups&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#host_groups">[spong.message]</a><br>
+hostname (where is this report coming from)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#hostname_where_is_th">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#hostname_where_is_th">[spong-network]</a><br>
+hosts&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#hosts">[spong.message]</a><br>
+<h2 class="PODIDX">I</h2>
+$IDENT_MESSAGES_PER_HOUR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_IDENT_MESSAGES_PER_">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_IDENT_MESSAGES_PER_">[spong.conf]</a><br>
+--info HOST&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_info_HOST">[spong]</a><br>
+--info host&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_info_host">[www-spong]</a><br>
+id&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#id">[spong-client]</a><br>
+Ignored Interfaces&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_interfaces.html#Ignored_Interfaces">[check_interfaces]</a><br>
+Information&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Information">[user-guide]</a><br>
+ip_addr&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#ip_addr">[spong.hosts]</a><br>
+<h2 class="PODIDX">L</h2>
+$LOGCHECKS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_LOGCHECKS">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_LOGCHECKS">[spong.conf]</a><br>
+Last Update&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Last_Update">[user-guide]</a><br>
+last_if_match&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#last_if_match">[spong.message]</a><br>
+logfile&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#logfile">[spong-client]</a><br>
+<h2 class="PODIDX">M</h2>
+$message&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#_message">[developer-guide]</a><br>
+$MESSAGES_PER_HOUR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_MESSAGES_PER_HOUR">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_MESSAGES_PER_HOUR">[spong.conf]</a><br>
+$MESSAGING_RULES&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_MESSAGING_RULES">[spong-message]</a><br>
+--message &quot;message text&quot;&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_message_message_tex">[spong-message]</a><br>
+--message TEXT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_message_TEXT">[spong-status]</a><br>
+Main Section&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Main_Section">[user-guide]</a><br>
+members&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.groups.html#members">[spong.groups]</a><br>
+Memory leak in spong-network on RedHat 6.0&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Memory_leak_in_spong">[spong-intro]</a><br>
+MESSAGE&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#MESSAGE">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#MESSAGE1">[developer-guide]</a><br>
+message&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#message">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#message">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#message">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#message1">[spong-server-mod-template]</a><br>
+Messaging rules in spong.message&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#Messaging">[spongfaq]</a><br>
+monitoring of network services (smtp, http, ping, pop, dns, etc...)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#monitoring_of_networ">[spongfaq]</a><br>
+<h2 class="PODIDX">N</h2>
+name&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.groups.html#name">[spong.groups]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#name">[spong.hosts]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#name">[spong.message]</a><br>
+<h2 class="PODIDX">O</h2>
+$OLD_HISTORY&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-cleanup.html#_OLD_HISTORY">[spong-cleanup]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_OLD_HISTORY">[spong.conf]</a><br>
+$OLD_SERVICE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-cleanup.html#_OLD_SERVICE">[spong-cleanup]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_OLD_SERVICE">[spong.conf]</a><br>
+OLD&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#OLD">[spong.message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#OLD1">[spong.message]</a><br>
+Overall Status&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Overall_Status">[user-guide]</a><br>
+<h2 class="PODIDX">P</h2>
+--problems [hostlist]&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_problems_hostlist_">[www-spong]</a><br>
+--problems [HOSTLIST]&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_problems_HOSTLIST_">[spong]</a><br>
+@PROCSWARN, @PROCSCRIT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_PROCSWARN_PROCSCRIT">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_PROCSWARN_PROCSCRIT">[spong.conf]</a><br>
+pattern&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#pattern">[spong-client]</a><br>
+PORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#PORT">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#PORT1">[developer-guide]</a><br>
+PURPLE&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#PURPLE">[user-guide]</a><br>
+<h2 class="PODIDX">R</h2>
+$RULES_MATCH&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_RULES_MATCH">[spong-message]</a><br>
+$RULES_MATCH in spong.conf&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#_RULES_MATCH">[spongfaq]</a><br>
+RECIPIENT&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#RECIPIENT">[developer-guide]</a><br>
+RED&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#RED">[user-guide]</a><br>
+results displayed via text or web based interface&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#results_displayed_vi">[spongfaq]</a><br>
+rules based messaging when problems occur&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#rules_based_messagin">[spongfaq]</a><br>
+<h2 class="PODIDX">S</h2>
+!!SHORTHOST!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_SHORTHOST_">[spong.message]</a><br>
+!!SUMMARY!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_SUMMARY_">[spong.message]</a><br>
+$SEND_MESSAGE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_SEND_MESSAGE">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SEND_MESSAGE">[spong.conf]</a><br>
+$SEND_MESSAGE in spong.conf&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#_SEND_MESSAGE">[spongfaq]</a><br>
+$SENDMSG_SERVERS&nbsp;&nbsp;<a class="POD_NAVLINK" href="data_sendmsg.html#_SENDMSG_SERVERS">[data_sendmsg]</a><br>
+$SPONG_ARCHIVE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-cleanup.html#_SPONG_ARCHIVE">[spong-cleanup]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_ARCHIVE">[spong.conf]</a><br>
+$SPONG_BB_UPDATE_PORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_BB_UPDATE_POR">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_BB_UPDATE_POR">[spong.conf]</a><br>
+$SPONG_LOG_FILE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_SPONG_LOG_FILE">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_SPONG_LOG_FILE">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_LOG_FILE">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_LOG_FILE">[spong.conf]</a><br>
+$SPONG_LOG_SYSLOG&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_SPONG_LOG_SYSLOG">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_SPONG_LOG_SYSLOG">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_LOG_SYSLOG">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_LOG_SYSLOG">[spong.conf]</a><br>
+$SPONG_QUERY_PORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_SPONG_QUERY_PORT">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_QUERY_PORT">[spong.conf]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_SPONG_QUERY_PORT">[www-spong]</a><br>
+$SPONG_SERVER_ALARM&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_SERVER_ALARM">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_SERVER_ALARM">[spong.conf]</a><br>
+$SPONG_UPDATE_PORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#_SPONG_UPDATE_PORT">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_UPDATE_PORT">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONG_UPDATE_PORT1">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_SPONG_UPDATE_PORT">[spong-status]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONG_UPDATE_PORT">[spong.conf]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong-ack.html#_SPONG_UPDATE_PORT">[www-spong-ack]</a><br>
+$SPONGDB&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-cleanup.html#_SPONGDB">[spong-cleanup]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONGDB">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGDB">[spong.conf]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.brief.html&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in5">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.brief.txt&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in2">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.full.html&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in7">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.full.txt&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in4">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.html&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in1">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.standard.html&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in6">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.standard.txt&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in3">[admin-guide]</a><br>
+$SPONGDB/&lt;hostname&gt;/info/info.txt&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_SPONGDB_hostname_in">[admin-guide]</a><br>
+$SPONGSERVER&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_SPONGSERVER">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#_SPONGSERVER">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_SPONGSERVER">[spong-status]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGSERVER">[spong.conf]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_SPONGSERVER">[www-spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong-ack.html#_SPONGSERVER">[www-spong-ack]</a><br>
+$SPONGSLEEP (Depreciated)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONGSLEEP_Deprecia">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGSLEEP_Deprecia">[spong.conf]</a><br>
+$SPONGSLEEP, $SPONGSERVER, $SPONG_UPDATE_PORT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_SPONGSLEEP_SPONGSER">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_SPONGSLEEP_SPONGSER">[spong-network]</a><br>
+$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'&lt;program-name&gt;'}&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGSLEEP_DEFAULT_">[spong.conf]</a><br>
+$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-client'}&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_SPONGSLEEP_DEFAULT_">[spong-client]</a><br>
+$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-network'}&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_SPONGSLEEP_DEFAULT_">[spong-network]</a><br>
+$SPONGSLEEP{'DEFAULT'}, $SPONGSLEEP{'spong-server'}&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONGSLEEP_DEFAULT_">[spong-server]</a><br>
+$SPONGSLEEP{'www-spong'} or $SPONGSLEEP{'default'}&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_SPONGSLEEP_www_spon">[www-spong]</a><br>
+$SPONGSTATUS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONGSTATUS">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGSTATUS">[spong.conf]</a><br>
+$SPONGTMP&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#_SPONGTMP">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#_SPONGTMP">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_SPONGTMP">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_SPONGTMP">[spong.conf]</a><br>
+--service HOST:SERVICE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_service_HOST_SERVIC">[spong]</a><br>
+--service host:service&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_service_host_servic">[www-spong]</a><br>
+--service NAME&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_service_NAME">[spong-status]</a><br>
+--service service&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_service_service">[spong-message]</a><br>
+--services host&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_services_host">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_services_host">[www-spong]</a><br>
+--standard&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_standard">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_standard">[www-spong]</a><br>
+--stats host&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_stats_host">[www-spong]</a><br>
+--stats HOST&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_stats_HOST">[spong]</a><br>
+--summary &quot;summary text&quot;&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_summary_summary_tex">[spong-message]</a><br>
+--summary [hostlist]&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_summary_hostlist_">[www-spong]</a><br>
+--summary [HOSTLIST]&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#_summary_HOSTLIST_">[spong]</a><br>
+--summary TEXT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_summary_TEXT">[spong-status]</a><br>
+@SENDMSG_EXCL_HOSTS&nbsp;&nbsp;<a class="POD_NAVLINK" href="data_sendmsg.html#_SENDMSG_EXCL_HOSTS">[data_sendmsg]</a><br>
+@SENDMSG_INC_HOSTS&nbsp;&nbsp;<a class="POD_NAVLINK" href="data_sendmsg.html#_SENDMSG_INC_HOSTS">[data_sendmsg]</a><br>
+SEND&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SEND">[developer-guide]</a><br>
+SERVERADDR&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SERVERADDR">[developer-guide]</a><br>
+service&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#service">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#service1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#service">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#service">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#service">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#service1">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#service2">[spong-server-mod-template]</a><br>
+SERVICE&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SERVICE">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SERVICE1">[developer-guide]</a><br>
+service name (&quot;disk&quot;, &quot;cpu&quot;, &quot;procs&quot;, &quot;logs&quot;, &quot;local&quot;)&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#service_name_disk_cp">[spong-client]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#service_name_disk_cp">[spong-network]</a><br>
+Service Status Display&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Service_Status_Displ">[user-guide]</a><br>
+services&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#services">[spong.hosts]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#services">[spong.message]</a><br>
+Services Table&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Services_Table">[user-guide]</a><br>
+skip_network_checks&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#skip_network_checks">[spong.hosts]</a><br>
+skytel&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#skytel">[spong.hosts]</a><br>
+SNMP Community Name&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_interfaces.html#SNMP_Community_Name">[check_interfaces]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_snmp.html#SNMP_Community_Name">[check_snmp]</a><br>
+Spong CGI Directory&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#Spong_CGI_Directory">[admin-guide]</a><br>
+Spong HTML Directory&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#Spong_HTML_Directory">[admin-guide]</a><br>
+spong-bb-update&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#spong_bb_update">[admin-guide]</a><br>
+spong-query&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#spong_query">[admin-guide]</a><br>
+spong-update&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#spong_update">[admin-guide]</a><br>
+spong.conf&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#spong_conf">[admin-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.html#spong_conf">[spong]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#spong_conf">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#spong_conf">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#spong_conf">[www-spong]</a><br>
+spong.conf.[hostname]&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#spong_conf_hostname_">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#spong_conf_hostname_">[spong-server]</a><br>
+spong.groups&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#spong_groups">[spong-server]</a><br>
+spong.hosts&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#spong_hosts">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#spong_hosts1">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-network.html#spong_hosts">[spong-network]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#spong_hosts">[spong-server]</a><br>
+spong.message&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#spong_message">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#spong_message1">[spong-message]</a><br>
+SPONGHOME/etc/spong.conf&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#SPONGHOME_etc_spong_">[spong.conf]</a><br>
+SPONGHOME/etc/spong.conf.[host]&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#SPONGHOME_etc_spong_1">[spong.conf]</a><br>
+start_time&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#start_time">[spong-server-mod-template]</a><br>
+status&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#status">[spong-client]</a><br>
+STATUS&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#STATUS">[developer-guide]</a><br>
+Status&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_interfaces.html#Status">[check_interfaces]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_snmp.html#Status">[check_snmp]</a><br>
+stop_after&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#stop_after">[admin-guide]</a><br>
+summary&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#summary">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#summary1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#summary">[spong-server-mod-template]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.groups.html#summary">[spong.groups]</a><br>
+SUMMARY&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SUMMARY">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#SUMMARY1">[developer-guide]</a><br>
+Summary Field&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_interfaces.html#Summary_Field">[check_interfaces]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="check_snmp.html#Summary_Field">[check_snmp]</a><br>
+Summary Information&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Summary_Information">[user-guide]</a><br>
+<h2 class="PODIDX">T</h2>
+!!TIME!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_TIME_">[spong.message]</a><br>
+$time&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#_time">[developer-guide]</a><br>
+$TIMEFMT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_TIMEFMT">[spong.conf]</a><br>
+$TIMEFMTNOSEC&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_TIMEFMTNOSEC">[spong.conf]</a><br>
+$TIMEFMTNOSEC and $DATEFMT&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_TIMEFMTNOSEC_and_DA">[www-spong]</a><br>
+%TEMPLATES&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_TEMPLATES">[spong-message]</a><br>
+--time time&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#_time_time">[spong-message]</a><br>
+--ttl SECONDS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-status.html#_ttl_SECONDS">[spong-status]</a><br>
+teletouch&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#teletouch">[spong.hosts]</a><br>
+teletouch_short&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.hosts.html#teletouch_short">[spong.hosts]</a><br>
+Testing messaging rules&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#Testing">[spongfaq]</a><br>
+Testing with spong-server&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#Testing1">[spongfaq]</a><br>
+text&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-client.html#text">[spong-client]</a><br>
+time&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#time">[admin-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#time">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#time1">[developer-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-ack.html#time">[spong-ack]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-message.html#time">[spong-message]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#time">[spong-server-mod-template]</a><br>
+times&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#times">[spong.message]</a><br>
+Title&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Title">[user-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Title1">[user-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#Title2">[user-guide]</a><br>
+TTL&nbsp;&nbsp;<a class="POD_NAVLINK" href="developer-guide.html#TTL">[developer-guide]</a><br>
+<h2 class="PODIDX">U</h2>
+user&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server-mod-template.html#user">[spong-server-mod-template]</a><br>
+<h2 class="PODIDX">V</h2>
+verbose information to help diagnosis problems&nbsp;&nbsp;<a class="POD_NAVLINK" href="spongfaq.html#verbose_information_">[spongfaq]</a><br>
+Version 1.0&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_1_0">[spong-intro]</a><br>
+Version 1.1&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_1_1">[spong-intro]</a><br>
+Version 2.0&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_2_0">[spong-intro]</a><br>
+Version 2.5&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_2_5">[spong-intro]</a><br>
+Version 2.6&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_2_6">[spong-intro]</a><br>
+Version 2.7&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-intro.html#Version_2_7">[spong-intro]</a><br>
+View Tool Bar&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#View_Tool_Bar">[user-guide]</a><br>
+<h2 class="PODIDX">W</h2>
+!!WWWSPONG!!&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.message.html#_WWWSPONG_">[spong.message]</a><br>
+$WWDOCS&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_WWDOCS">[admin-guide]</a><br>
+$WWW_ACTIONBAR_CUSTOM&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_ACTIONBAR_CUSTO">[spong.conf]</a><br>
+$WWW_CELL_COLOR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_CELL_COLOR">[spong.conf]</a><br>
+$WWW_COLOR{...}&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_COLOR_">[spong.conf]</a><br>
+$WWW_FQDN&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong-server.html#_WWW_FQDN">[spong-server]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_FQDN">[spong.conf]</a><br>
+$WWW_PROB_ACTIONBAR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_PROB_ACTIONBAR">[spong.conf]</a><br>
+$WWW_TITLE_ACTIONBAR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_TITLE_ACTIONBAR">[spong.conf]</a><br>
+$WWW_TITLE_COLOR&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_TITLE_COLOR">[spong.conf]</a><br>
+$WWW_TITLE_SIZE&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_TITLE_SIZE">[spong.conf]</a><br>
+$WWW_USE_IMAGES&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_USE_IMAGES">[spong.conf]</a><br>
+$WWWACK&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_WWWACK">[admin-guide]</a><br>
+$WWWCONTACT&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWCONTACT">[spong.conf]</a><br>
+$WWWDOCS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWDOCS">[spong.conf]</a><br>
+$WWWFRAMES&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWFRAMES">[spong.conf]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="www-spong.html#_WWWFRAMES">[www-spong]</a><br>
+$WWWGIF&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_WWWGIF">[admin-guide]</a><br>
+$WWWGIFS&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWGIFS">[spong.conf]</a><br>
+$WWWHTML&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_WWWHTML">[admin-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWHTML">[spong.conf]</a><br>
+$WWWSPONG&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#_WWWSPONG">[admin-guide]</a>&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWSPONG">[spong.conf]</a><br>
+$WWWSPONGACK&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWWSPONGACK">[spong.conf]</a><br>
+@WWW_REFRESH_ALLOW&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_REFRESH_ALLOW">[spong.conf]</a><br>
+@WWW_REFRESH_DENY&nbsp;&nbsp;<a class="POD_NAVLINK" href="spong.conf.html#_WWW_REFRESH_DENY">[spong.conf]</a><br>
+Web Server Configuration&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#Web_Server_Configura">[admin-guide]</a><br>
+www/&nbsp;&nbsp;<a class="POD_NAVLINK" href="admin-guide.html#www_">[admin-guide]</a><br>
+<h2 class="PODIDX">Y</h2>
+YELLOW&nbsp;&nbsp;<a class="POD_NAVLINK" href="user-guide.html#YELLOW">[user-guide]</a><br>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:09 2002
+</body>
+</html>
+
diff --git a/www/docs/spongtoc.html b/www/docs/spongtoc.html
new file mode 100644 (file)
index 0000000..6449f0b
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>Table of Contents</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="admin-guide.html">Next:<br>admin-guide</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">Table of Contents</h1>
+<hr>
+<table><tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="admin-guide.html">admin-guide</a></td><td class="PODTOC_DESC">admin-guide - Spong Administrator's Guide</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="check_interfaces.html">check_interfaces</a></td><td class="PODTOC_DESC"><b>check_interfaces</b> - spong-network module to check for down intefaces via SNMP</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="check_snmp.html">check_snmp</a></td><td class="PODTOC_DESC"><b>check_snmp</b> - spong-network module to check for proper SNMP agent operation</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="data_sendmsg.html">data_sendmsg</a></td><td class="PODTOC_DESC"><b>data_sendmsg</b> - spong-network module that sends copies of update messages to
+other spong-servers</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="developer-guide.html">developer-guide</a></td><td class="PODTOC_DESC"><b>developer-guide</b> - developer's guide to Spong</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="pre_redirect.html">pre_redirect</a></td><td class="PODTOC_DESC"><b>pre_redirect</b> - spong-network predata module that redirects update messages
+to other spong-servers</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong.html">spong</a></td><td class="PODTOC_DESC"><b>spong</b> - character based Spong client interface program</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-ack.html">spong-ack</a></td><td class="PODTOC_DESC"><b>spong-ack</b> - Spong acknowledgment tool</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-cleanup.html">spong-cleanup</a></td><td class="PODTOC_DESC"><b>spong-cleanup</b> - perform nightly maintenance to the spong database</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-client.html">spong-client</a></td><td class="PODTOC_DESC">spong-client - report system information to spong server</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-client-mod-template.html">spong-client-mod-template</a></td><td class="PODTOC_DESC">spong-client-mod-template - how to create modules for spong-client</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-intro.html">spong-intro</a></td><td class="PODTOC_DESC">Simple System/Network Monitoring - spong v2.0</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-message.html">spong-message</a></td><td class="PODTOC_DESC"><b>spong-message</b> - send out alerts when there is a problem</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-message-mod-template.html">spong-message-mod-template</a></td><td class="PODTOC_DESC">spong-message-mod-template - how to build spong message template</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-network.html">spong-network</a></td><td class="PODTOC_DESC"><b>spong-network</b> - report network service information to spong server.</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-network-mod-template.html">spong-network-mod-template</a></td><td class="PODTOC_DESC">spong-network-mod-template - A sample spong-network check module</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-server.html">spong-server</a></td><td class="PODTOC_DESC"><b>spong-server</b> - save status information reported by spong programs</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-server-mod-template.html">spong-server-mod-template</a></td><td class="PODTOC_DESC">spong-server-mod-template - how to build a spong-server data modules</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong-status.html">spong-status</a></td><td class="PODTOC_DESC"><b>spong-status</b> - send various type of messages to a spong-server</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong.conf.html">spong.conf</a></td><td class="PODTOC_DESC"><b>spong.conf</b> - provides configuration information to spong programs.</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong.groups.html">spong.groups</a></td><td class="PODTOC_DESC"><b>spong.groups</b> - define groups of spong hosts</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong.hosts.html">spong.hosts</a></td><td class="PODTOC_DESC"><b>spong.hosts</b> - define hosts and services to monitor</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spong.message.html">spong.message</a></td><td class="PODTOC_DESC"><b>spong.message</b> - define rules on how and when to send notifications</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="spongfaq.html">spongfaq</a></td><td class="PODTOC_DESC">spongfaq - frequently asked questions about Spong ($Revision: 1.1 $, $Date: 2005/09/30 07:47:25 $)</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="todo.html">todo</a></td><td class="PODTOC_DESC">&lt;no description&gt;</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="user-guide.html">user-guide</a></td><td class="PODTOC_DESC">user-guide - a user's guide to using Spong</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="www-spong.html">www-spong</a></td><td class="PODTOC_DESC"><b>www-spong</b> - display spong system status via the web or general static HTML
+pages of system status</td></tr>
+<tr><td class="PODTOC_NAME"><a class="POD_NAVLINK" href="www-spong-ack.html">www-spong-ack</a></td><td class="PODTOC_DESC"><b>www-spong-ack</b> - WWW (CGI) based spong acknowledgment tool</td></tr>
+</table>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:08 2002
+</body>
+</html>
+
diff --git a/www/docs/todo.html b/www/docs/todo.html
new file mode 100755 (executable)
index 0000000..2cbea59
--- /dev/null
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>todo</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="user-guide.html">Next:<br>user-guide</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="spongfaq.html">Previous:<br>spongfaq</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">todo</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#Spong_TODO_Wish_list">Spong TODO / Wish list</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="Spong_TODO_Wish_list">Spong TODO / Wish list</a></h2>
+<p class="POD_TEXT">
+Here are the features/changes that I and others want to make to spong.  They
+are in no particular order,  If you have any suggestions or comments, send
+email to sjohnson@monsters.org.
+</p>
+<ul class="POD_LIST">
+<li class="POD_ITEM"><a name="_"></a>
+<p class="POD_TEXT">
+Make web interface more configurable: (user selectable background colors/
+method, table shading scheme) (DONE)
+</p>
+<li class="POD_ITEM"><a name="_1"></a>
+<p class="POD_TEXT">
+Add option to use style sheets on Web Interface.
+</p>
+<li class="POD_ITEM"><a name="_2"></a>
+<p class="POD_TEXT">
+Client support (spong-client) for NT (DONE)
+</p>
+<li class="POD_ITEM"><a name="_3"></a>
+<p class="POD_TEXT">
+Server support (spong-server, spong-network, spong-display) support for NT
+</p>
+<li class="POD_ITEM"><a name="_4"></a>
+<p class="POD_TEXT">
+Make spong-network more parallel, have it perform checks from a pool of
+children, that way if a system can not be ping'ed - it will not slow up the rest
+of the checks.
+</p>
+<li class="POD_ITEM"><a name="_5"></a>
+<p class="POD_TEXT">
+Make spong-network check more often on hosts that do not respond on the
+first try (DONE)
+</p>
+<li class="POD_ITEM"><a name="_6"></a>
+<p class="POD_TEXT">
+Add some limited event correlation to spong-network to not report service
+problems is a parent router/switch is unreachable.
+</p>
+<li class="POD_ITEM"><a name="_7"></a>
+<p class="POD_TEXT">
+Optimize the communication between client and server - by pipelining
+reports through a single channel and perhaps compressing the data before
+sending it.
+</p>
+<li class="POD_ITEM"><a name="_8"></a>
+<p class="POD_TEXT">
+Make it so that you can click on a host and find out status, history, 
+configuration (inventory), and statistics. (starting to branch out). (DONE via
+configurable ToolBars in Web Interface)
+</p>
+<li class="POD_ITEM"><a name="_9"></a>
+<p class="POD_TEXT">
+Integrate gstats (statistics collection) program. &quot;spong-stats&quot; (Ed Hill)
+</p>
+<li class="POD_ITEM"><a name="_10"></a>
+<p class="POD_TEXT">
+Add an inventory/configuration module. &quot;spong-config&quot; (DONE via
+configurable ToolBars in Web Interface and packages called SysSymm)
+</p>
+<li class="POD_ITEM"><a name="_11"></a>
+<p class="POD_TEXT">
+Continue modularizing to move towards Object Oriented as much as possible.
+</p>
+<li class="POD_ITEM"><a name="_12"></a>
+<p class="POD_TEXT">
+Customizable notify messages in spong-message. (DONE)
+</p>
+<li class="POD_ITEM"><a name="_13"></a>
+<p class="POD_TEXT">
+Add control ports to spong-client,spong-network, and spong-server to
+ultimately allow the programs to be control and configured remotely
+</p>
+<li class="POD_ITEM"><a name="_14"></a>
+<p class="POD_TEXT">
+Add stats package to record and display status update information in RRD
+Tool databases. &quot;spong-rrd&quot; (DONE)
+</p>
+<li class="POD_ITEM"><a name="_15"></a>
+<p class="POD_TEXT">
+Add SSL to Client/Server protocol for verification and security
+</p>
+<li class="POD_ITEM"><a name="_16"></a>
+<p class="POD_TEXT">
+Be able to display hosts sorted and sectioned by groups. (DONE)
+</p>
+<li class="POD_ITEM"><a name="_17"></a>
+<p class="POD_TEXT">
+Add &quot;Sticky&quot; events that can stay around until cleared or time limit expires.
+</p>
+<li class="POD_ITEM"><a name="_18"></a>
+<p class="POD_TEXT">
+Add event handling API into spong-server for event handler modules
+</p>
+<li class="POD_ITEM"><a name="_19"></a>
+<p class="POD_TEXT">
+Add summary status type to be able to send summary status messages to other
+Spong servers
+</p>
+<li class="POD_ITEM"><a name="_20"></a>
+<p class="POD_TEXT">
+Add support for multiple Spong-Servers and fail-over capabilities for high
+availability (multiple Spong-Servers - DONE)
+</p>
+<li class="POD_ITEM"><a name="_21"></a>
+<p class="POD_TEXT">
+Purple status (stale messages) checking and notification.
+</p>
+</ul>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Most recently updated on July 28, 2000
+Stephen L Johnson &lt;sjohnson@monsters.org&gt;
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:07 2002
+</body>
+</html>
+
diff --git a/www/docs/user-guide.html b/www/docs/user-guide.html
new file mode 100755 (executable)
index 0000000..2b94d6f
--- /dev/null
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>user-guide</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="www-spong.html">Next:<br>www-spong</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="todo.html">Previous:<br>todo</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">user-guide</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#SPONG_OVERVIEW">SPONG OVERVIEW</a>
+<li><a class="POD_NAVLINK" href="#WEB_USER_INTERFACE">WEB USER INTERFACE</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Status_Colors">Status Colors</a>
+<li><a class="POD_NAVLINK" href="#Display_Modes">Display Modes</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FRAMES">FRAMES</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Header_Frame">Header Frame</a>
+<li><a class="POD_NAVLINK" href="#Command_Frame">Command Frame</a>
+<li><a class="POD_NAVLINK" href="#Display_Frame">Display Frame</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#COMMAND_LINE_USER_IN">COMMAND LINE USER INTERFACE</a>
+<li><a class="POD_NAVLINK" href="#ACKNOWLEDGMENTS">ACKNOWLEDGMENTS</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+user-guide - a user's guide to using Spong
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+This the user's guide to using spong. It has an overview of the operation of
+the whole system and how the user fits into the scheme of things.  Spong
+acknowledgements, the web-base user interface and the character based
+interfaced will be covered in detail.
+</p>
+<h2 class="POD_HEAD1"><a name="SPONG_OVERVIEW">SPONG OVERVIEW</a></h2>
+<h2 class="POD_HEAD1"><a name="WEB_USER_INTERFACE">WEB USER INTERFACE</a></h2>
+<p class="POD_TEXT">
+The Spong web display has two different modes that can be configured by the
+Administrator: 2 frame or 3 frames. The two modes are essentially the same
+from the user's point of view. The 3 frame mode added a header frame at the
+top of the windows in addition to the two side by side display frame.
+</p>
+<p class="POD_TEXT">
+The display frames are 2 side by side frames, The left frame is commonly called
+the Command frame. It will contains a summary of any hosts that currently have
+any problems (i.e. any service that is red.) The right Display frame will
+contain various displays that are select from previous displays or the links on
+the Command frame.
+</p>
+<h3 class="POD_HEAD2"><a name="Status_Colors">Status Colors</a></h3>
+<p class="POD_TEXT">
+Though out many of the displays the status of a host or a service is expressed
+as a color. This will be in the form of a blocks, a strip, or an icons. This is
+a list of the colors and their meaning.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="GREEN">GREEN</a>
+<dd>
+For a service, green means that it is responding normally, or it is within
+normal parameters. For a host, green means that all services are OK and
+there are active acknowledgements or over-due service status reported.
+<dt class="POD_ITEM"><a name="YELLOW">YELLOW</a>
+<dd>
+For a service, yellow generally means that something minor is wrong and
+may need attention, or a parameter is slightly out of bounds. For a host,
+yellow mean that one or services are at a warning status.
+<dt class="POD_ITEM"><a name="RED">RED</a>
+<dd>
+For a service, red means that is something is critically wrong for a service,
+such as a network service not responding or a parameter is radically out
+of bounds. For a host, red means that one or more services are at a critical
+status.
+<dt class="POD_ITEM"><a name="PURPLE">PURPLE</a>
+<dd>
+For a service, purple means it's status report is overdue. The last time
+that the service has been updated is too old. this can be due to network
+problems or a Spong Client program has stopped for some reason. For
+a host, is means that one of more service status reports are over due.
+<dt class="POD_ITEM"><a name="BLUE">BLUE</a>
+<dd>
+For hosts and services, this means that there is an active acknowledgment
+on the service or host. While a service is acknowledged, no notifications
+will be sent to, but events will still be written to the history log file.
+<dt class="POD_ITEM"><a name="CLEAR">CLEAR</a>
+<dd>
+For hosts and service, this meaan that the status is unavailable for some
+reason. The usual cause is the host being out of communication. Service checks
+used by the <a class="POD_LINK" href="spong-network.html">spong-network</a> program can be flagged with a
+<i>stop_after</i> flag. If a service with the <i>stop_after</i> fails the remaining
+checks will be skipped. And all of the remaining checks will have a <i>clear</i>
+status.
+</dl>
+<h3 class="POD_HEAD2"><a name="Display_Modes">Display Modes</a></h3>
+<p class="POD_TEXT">
+There are two main viewing modes for the Spong web interface
+</p>
+<h2 class="POD_HEAD1"><a name="FRAMES">FRAMES</a></h2>
+<h3 class="POD_HEAD2"><a name="Header_Frame">Header Frame</a></h3>
+<p class="POD_TEXT">
+In the 3 frame mode of operation this will be displayed across the top
+of the web page. This frame is static. It holds a tool bar.
+</p>
+<p class="POD_TEXT">
+The tool bar has controls to switch between the Groups and Hosts view modes
+of the two Display frames. The tool bar may also have other controls added
+by your the Administrator.
+</p>
+<h3 class="POD_HEAD2"><a name="Command_Frame">Command Frame</a></h3>
+<p class="POD_TEXT">
+The left Command frame is divided 5 or 6 sections from top to bottom:
+Title,View Tool Bar, Action Bar, Main Section (problem host list), Host Group
+selector and Last Update. The View Tool Bar is only displayed when the Web
+display is configured in 2 frame mode. And the Host Group selector will not be 
+displayed in the Groups view mode.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Title">Title</a>
+<dd>
+The section is simple the title Spong and the version number of the server.
+<dt class="POD_ITEM"><a name="View_Tool_Bar">View Tool Bar</a>
+<dd>
+This has two links, <b>Hosts</b> and <b>Groups</b>, which are used to switch between
+the Hosts and Groups viewing modes. This Tool Bar is only displayed is the
+Web Interface is configured in 2 frame mode.
+<dt class="POD_ITEM"><a name="Action_Bar">Action Bar</a>
+<dd>
+The section under the title section is the Command action bar. The <i>Ack</i> link
+will bring up the the <a class="POD_LINK" href="www-spong-ack.html">www-spong-ack</a> manpage CGI program in the Display frame. The page
+allows you to display, delete, or create Spong Acknowledgements. The <i>Summary</i>
+link brigs up the host summary table of the currently select Host Group(s) in
+the Display frame.  The &lt;History&gt; link displays the event history for all of
+the hosts in the current Host Group. And the &lt;i&gt;Help&lt;/i&gt; link will the Spong
+HTML documentation.
+<dt class="POD_ITEM"><a name="Main_Section">Main Section</a>
+<dd>
+The main section of the Command frame is a list of all of the hosts that
+have any problems (e.g. services that are red). If there are
+no reported problems then this section will have &quot;No Current Problems&quot;
+in green letters. If there are problems then a list of hosts will be displayed
+along with name of the services that has the problem. The last date/time
+that the service was updated and, is defined. A contact responsible for
+the host.
+<p class="POD_TEXT">
+The <i>host name</i> is a link that will bring up the full status display
+for the host in the Display frame. The <i>problem</i> field under the host
+name is a link to the service display page for that host. It will be displayed on
+the Display Frame. The <i>updated</i> field is the date and time that the
+status of that service updated. The <i>contact</i> field (if present) is a link
+that will bring up a custom CGI program that will allow you to send a message
+to the people responsible that host.
+</p>
+<dt class="POD_ITEM"><a name="Group_Section">Group Section</a>
+<dd>
+The Host Group section allows to select which group of hosts that you
+want to display in the &lt;Summary&gt; and <i>History</i> displays. This
+title to the right of the &lt;Group&gt; link is the currently selected Host
+Group. Selecting the <i>Group</i> link brings up the Spong Group display
+in the Display frame. On top of the page is a list of all of the predefined
+host groups defined along with the display name and a summary description
+of the group.
+<p class="POD_TEXT">
+If you click a <i>group name</i> link, you change the group of hosts
+that you are viewing. The web browser window will be redrawn to reflect
+the new group of hosts. At the bottom of the &lt;Spong Groups&gt; display
+is a section that allows you to select a custom group of hosts to display.
+You select all of the hosts that you want to be in your custom group from
+the list of hosts. Then click in the <i>Show Hosts</i> button to redraw
+the browser window and display the your customized group of hosts.
+</p>
+<p class="POD_TEXT">
+This section will only be displayed in the Hosts view mode.
+</p>
+<dt class="POD_ITEM"><a name="Last_Update">Last Update</a>
+<dd>
+The time stamp section at the bottom is the date and time that the entire
+left frame was last updated. If refreshing is allowed by you or your system,
+the frame will be automatically reload every $SPONGSLEEP (for spong-server)
+seconds. See the section on <a class="POD_LINK" href="spong.conf.html#_SPONGSLEEP_Deprecia">$SPONGSLEEP</a> in the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage for more information.
+</dl>
+<h3 class="POD_HEAD2"><a name="Display_Frame">Display Frame</a></h3>
+<p class="POD_TEXT">
+The right frame is the Display Frame. It is used to display various
+informational displays and forms. The default display is the <i>Group Summary</i>.
+Most of the sub-pages have an action bar.
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Action_Bar1">Action Bar</a>
+<dd>
+The <i>Action Bar</i> on displays is directly under the title at the top
+of the page. The <i>Connect to Host</i> link will start a telnet session
+to the host if clicked. The <i>Acknowledge Problem</i> link will bring
+up the the <a class="POD_LINK" href="www-spong-ack.html">www-spong-ack</a> manpage CGI program Display. The Host and Service fields will
+be filled in (if possible). The <i>Contact Help</i> link (if present) is a link
+that will bring up a custom CGI program that will allow you to send a message
+to the people responsible that host (see the section on <a class="POD_LINK" href="admin-guide.html#Custom_Contacts">Custom Contacts</a> in the <a class="POD_LINK" href="admin-guide.html">admin-guide</a> manpage for more information).
+<dt class="POD_ITEM"><a name="Group_Summary_Displa">Group Summary Display</a>
+<dd>
+The Group Summary Display is a table that lists the hosts and services of the
+current selected group of hosts.  The name of the selected group is displayed
+at the top of the display. In the Groups view mode, the hosts will be grouped
+into separate tables by host groups.
+<p class="POD_TEXT">
+Each host is a row in the table with services being the columns of the table.
+The current status of each service is a colored block or a icon depending on
+how spong-service is configured.   The statuses are represented by the color:
+RED - critical, YELLOW - warning, GREEN - normal, PURPLE - status is output of
+date, BLUE - service has active acknowledgement, CLEAR - status is unavailable,
+NOTHING - service is not checked.
+</p>
+<p class="POD_TEXT">
+The host name in the first column is a link to <i>Host Services</i> display the
+host. The service names in the first row of the table are links to Help page
+for that service. The Help page has a description of the service and the
+ramifications if the service is in a warning or critical status.  The service
+status colored block or icon is a link to the &lt;Service Status&gt; display for
+the host/service.
+</p>
+<dt class="POD_ITEM"><a name="Host_Services_Displa">Host Services Display</a>
+<dd>
+This display shows most of the available information about the host. The
+display is divided into several sections. From top to bottom they are :
+Title (Host Name), Action Bar, Overall Status, Acknowledgements, Services
+Table, Information, History.
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Title1">Title</a>
+<dd>
+The is the name of the Host being displayed.
+<dt class="POD_ITEM"><a name="Action_Bar2">Action Bar</a>
+<dd>
+The <i>Action Bar</i> is discussed above.
+<dt class="POD_ITEM"><a name="Overall_Status">Overall Status</a>
+<dd>
+This a bar this displays the current overall status of the host. The over
+status is the highest order color of all of the service statuses according
+to the following hierarchy: BLUE, RED, YELLOW, PURPLE, GREEN, CLEAR.
+<dt class="POD_ITEM"><a name="Acknowledgements">Acknowledgements</a>
+<dd>
+If there are any Acknowledgements for the host they will be listed here.
+Each acknowledgement will have the service that is acknowledged, the expiration
+date, and the message. There is a <i>Delete</i> link for each acknowledgement
+also which will delete the acknowledgment when clicked.
+<dt class="POD_ITEM"><a name="Services_Table">Services Table</a>
+<dd>
+This is a summary table of all of the services that is checked on this host.
+The table lists the service name, the current status of the service
+(colored-block or icon) , the time (in 23 hour format) of the last update, and
+the summary message of message status. The service name and the current status
+colored-block/icon are links that will bring of the <i>Service Status</i> display
+for the service.
+<dt class="POD_ITEM"><a name="Information">Information</a>
+<dd>
+If there is any addition information defined for the host, it will be displayed
+in this section. This information is unique to each host. There can be a
+description of the functions of the host, embedded image or links to other
+information sources. For further information see the the <a class="POD_LINK" href="admin-guide.html">admin-guide</a> manpage.
+<dt class="POD_ITEM"><a name="History">History</a>
+<dd>
+The recent event history of the host will be displayed in this section.
+The events are displayed in reverse chronological orders divided into separate
+days. Each event has the status color, time (in 24 hour format), host name,
+service name, and message summary line of the event.
+</dl>
+<dt class="POD_ITEM"><a name="Service_Status_Displ">Service Status Display</a>
+<dd>
+This display shows all of the information available for the service/host.  It is
+divided into several sections: Title (Host Name/Service), Action Bar, Summary
+Information, Detailed Information&gt;.
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="Title2">Title</a>
+<dd>
+This is the name of the host and service being displayed.
+<dt class="POD_ITEM"><a name="Action_Bar3">Action Bar</a>
+<dd>
+This is discussed above.
+<dt class="POD_ITEM"><a name="Summary_Information">Summary Information</a>
+<dd>
+This section shows summary information for the service. First is a colored bar
+that shows the current status color of the service. See the section on <a class="POD_LINK" href="#Status_Colors">Status Colors</a> elsewhere in this document for
+details. Next is the <i>Updated:</i> field which if the date and time of the last
+update of the status. The <i>Duration</i> field shows the amount of time that the
+service has been in it's current status.  And last is the <i>Summary</i> field
+which is a one line summary message about the status of the service.
+<p></p>
+<dt class="POD_ITEM"><a name="Detailed_Information">Detailed Information</a>
+<dd>
+This last section is detailed information about the status of the service.
+The type of information depends of the service. For example, for the <i>disk</i>
+service it will be the output of the <b>df</b> command showing the mounted
+disk partitions and amount of space used on each disk and the for the <i>cpu</i>
+service it will be a <b>ps</b> command output showing information about
+the top 10 processes using a CPU.
+</dl>
+<dt class="POD_ITEM"><a name="Acknowledge_Problem_">Acknowledge Problem Display</a>
+<dd>
+This display is a form generated by the <b>www-spong-ack</b> CGI program. At top of
+the form are instructions on how to fill out the form, next will be a list of
+all of the current Acknowledgments created for the host. The list includes the
+service that was ack'ed, the expiration date of the acknowledgement, and the
+message text of the acknowledgment.  There is also a <i>Delete</i> link that can be
+used to delete the Acknowledgment if clicked. Below this if a form that can be
+filled out to create a new Acknowledgment. See the &lt;www-spong-ack&gt;
+documentation for more information.
+</dl>
+<h2 class="POD_HEAD1"><a name="COMMAND_LINE_USER_IN">COMMAND LINE USER INTERFACE</a></h2>
+<p class="POD_TEXT">
+The command line interface is provided by the <b>spong</b> program. It has all of
+the same displays that the Web Interface provides.  The <b>spong</b> program is run
+with 0, 1 or 2 parameters from a shell prompt. For more information run the
+<b>spong</b> program with the --help parameters or see the <a class="POD_LINK" href="spong.html">spong</a> manpage documentation.
+</p>
+<h2 class="POD_HEAD1"><a name="ACKNOWLEDGMENTS">ACKNOWLEDGMENTS</a></h2>
+<p class="POD_TEXT">
+Spong Acknowlegements are a mechanism that allows the user to notify the
+spong-server that they know about the problem and no more notifications need to
+be sent. Acknowledgments have a limited life time. After an acknowledgment has
+expired, the spong-server will start sending out notifications if necessary.
+Acknowledgments are created for a specific host and service, or all services can
+be acknowledged by specifying 'all' for the service name.
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:08 2002
+</body>
+</html>
+
diff --git a/www/docs/www-spong-ack.html b/www/docs/www-spong-ack.html
new file mode 100644 (file)
index 0000000..12cd0f2
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>www-spong-ack</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="spongindex.html">Next:<br>spongindex</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="www-spong.html">Previous:<br>www-spong</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">www-spong-ack</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Theory_of_Operation">Theory of Operation</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>www-spong-ack</b> - WWW (CGI) based spong acknowledgment tool
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+http://spong-server.my-inc.com/spong/www-spong-ack
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+Then a spong event occurs (or will occur), you can use this tool to acknowledge
+that your know there is a problem. You can provide text that will be seen by
+others looking at the event (via a spong display program). You can specify a
+time limit that the problem will occur. If a problem has been acknowledged,
+you will no longer receive notifications of the problem, and the spong display
+programs will show the of the service(s) as &quot;blue&quot;.
+</p>
+<h3 class="POD_HEAD2"><a name="Theory_of_Operation">Theory of Operation</a></h3>
+<p class="POD_TEXT">
+The <b>www-spong-ack</b> program is designed to interact with the the <a class="POD_LINK" href="www-spong.html">www-spong</a> manpage 
+Spong display program, but it the program can be used if it is invoked directly.
+</p>
+<p class="POD_TEXT">
+When the program is initially invoked it will list all of the acknowledgments at
+the top of the page in the &quot;Current Acknowledgments&quot; section. The host/service
+and the expiration date/time of the acks are displayed. A <i>Delete</i> link is 
+provided for every ack. that will delete that particular ack. when selected.
+</p>
+<p class="POD_TEXT">
+Below in the &quot;New Acknowledgment&quot; section is a form form for creating a new 
+acknowledgment. The host name is selected from the drop-down box. The service(s)
+to be acknowledged is entered in service field. The duration of the event is
+entered in one of several formats into the duration field. Your e-mail address
+should be entered into the e-mail address field. It is only used to show who
+created the ack. And a message about the acknowledgement can be entered.  Once
+all of the information is entered, press the 'Create' button to create the
+acknowledgement.
+</p>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+<b>spong-cleanup</b> reads the standard spong.conf and spong.conf.&lt;host&gt;
+configuration files.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The host that at least the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage and the <a class="POD_LINK" href="spong-message.html">spong-message</a> manpage
+programs are running on. Typically the the <a class="POD_LINK" href="spong-network.html">spong-network</a> manpage program runs on that
+host as well.
+<dt class="POD_ITEM"><a name="_SPONG_UPDATE_PORT">$SPONG_UPDATE_PORT</a>
+<dd>
+This variable defines the port that the the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process listens
+on. If this variable is not defined on the <i>$SPONGSERVER</i> host, the
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage update process will not be started.  The default value is 1998.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<p class="POD_TEXT">
+<code>SPONGHOME/etc/spong.conf</code>, <code>SPONGHOME/etc/spong.conf.&lt;host&gt;</code>
+</p>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<p class="POD_TEXT">
+A working web server that can run CGI programs.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+No know bugs.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="spong-server.html">spong-server</a> manpage, the <a class="POD_LINK" href="spong-ack.html">spong-ack</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="user-guide.html">user-guide</a> manpage
+</p>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:08 2002
+</body>
+</html>
+
diff --git a/www/docs/www-spong.html b/www/docs/www-spong.html
new file mode 100755 (executable)
index 0000000..6c8804b
--- /dev/null
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
+<meta content="text/css" http-equiv="Content-Style-Type">
+<meta content="Pod::HTML 0.44" name="GENERATOR">
+<title>www-spong</title>
+</head>
+<body>
+<a class="POD_NAVLINK" name="Pod_TOP_OF_PAGE"></a>
+<table width="100%">
+<tr><td align="left" width="1%"><a class="POD_NAVLINK" href="www-spong-ack.html">Next:<br>www-spong-ack</a></td><td align="left" width="1%"><a class="POD_NAVLINK" href="user-guide.html">Previous:<br>user-guide</a></td><td width="90%">&nbsp;</td><td align="right" width="1%"><a class="POD_NAVLILNK" href="spongtoc.html">[Table&nbsp;of&nbsp;Contents]</a></td><td align="right" width="1%"><a class="POD_NAVLINK" href="spongindex.html">[Index]</a></td></tr>
+</table>
+<h1 class="POD_TITLE">www-spong</h1>
+<hr>
+<ul>
+<li><a class="POD_NAVLINK" href="#NAME">NAME</a>
+<li><a class="POD_NAVLINK" href="#SYNOPSIS">SYNOPSIS</a>
+<li><a class="POD_NAVLINK" href="#DESCRIPTION">DESCRIPTION</a>
+<li><a class="POD_NAVLINK" href="#OPTIONS">OPTIONS</a>
+<li><a class="POD_NAVLINK" href="#CONFIGURATION">CONFIGURATION</a>
+<ul>
+<li><a class="POD_NAVLINK" href="#Configuration_Files">Configuration Files</a>
+<li><a class="POD_NAVLINK" href="#Configuration_Variab">Configuration Variables</a>
+</ul>
+<li><a class="POD_NAVLINK" href="#FILES">FILES</a>
+<li><a class="POD_NAVLINK" href="#DEPENDENCIES">DEPENDENCIES</a>
+<li><a class="POD_NAVLINK" href="#BUGS">BUGS</a>
+<li><a class="POD_NAVLINK" href="#SEE_ALSO">SEE ALSO</a>
+<li><a class="POD_NAVLINK" href="#AUTHOR">AUTHOR</a>
+<li><a class="POD_NAVLINK" href="#HISTORY">HISTORY</a>
+</ul>
+<hr>
+<h2 class="POD_HEAD1"><a name="NAME">NAME</a></h2>
+<p class="POD_TEXT">
+<b>www-spong</b> - display spong system status via the web or general static HTML
+pages of system status
+</p>
+<h2 class="POD_HEAD1"><a name="SYNOPSIS">SYNOPSIS</a></h2>
+<p class="POD_TEXT">
+<b>www-spong</b> [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--summary</b>&nbsp;[<i>hostlist</i>]&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--problems</b>&nbsp;[<i>hostlist</i>]&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--history</b>&nbsp;[&lt;hostlist] |&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--host</b>&nbsp;<i>host</i>&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--services</b>&nbsp;<i>host</i>&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--stats</b>&nbsp;<i>host</i>&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--config</b>&nbsp;<i>host</i>&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--info</b>&nbsp;<i>&nbsp;host</i>&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>--service</b>&nbsp;<i>host:service</i><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[--brief&nbsp;|&nbsp;--standard&nbsp;|&nbsp;--full&nbsp;]
+</p>
+<h2 class="POD_HEAD1"><a name="DESCRIPTION">DESCRIPTION</a></h2>
+<p class="POD_TEXT">
+The <b>www-spong</b> program interfaces with the spong-server to display the
+collected information in HTML format. <b>www-spong</b> can be run in two modes: as
+a CGI program and from the command line.
+</p>
+<p class="POD_TEXT">
+When run as a CGI program it does not have to loaded onto the same machine that
+spong-server is running. It queries the spong-server through it's query port.
+it will display information via a web page that reloads itself at regular
+intervals. When run with no parameters it created a page with two or three
+frames. In tree frames mode there will be a top title frame spanning the entire
+page that has an action bar to switch views. The remain frames are displayed
+below.  The left frame displays a summary of systems along with their
+associated problems (services that are red). The right panel is a table that
+lists the hosts and services, and the current status is a colored block or an
+icon depending on how spong-server is configured.  For further information on
+how to use the web interface see &lt;Users Guide|user-guide&gt;.
+</p>
+<p class="POD_TEXT">
+When run from a command line, www-spong generates HTML pages that are printed
+to the console. This mode can be used to generate static HTML pages.  If
+www-spong is run without any parameters a page that contains a summary display
+for all hosts is generated.
+</p>
+<h2 class="POD_HEAD1"><a name="OPTIONS">OPTIONS</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_summary_hostlist_"><b>--summary</b> [<i>hostlist</i>]</a>
+<dd>
+Summarize the status of hosts, in hostlist, in a table that lists
+the hosts and services, and the current status is a colored block or an
+icon depending on how spong-server is configured. If hostlist if not specified
+all hosts defined in spong.hosts are displayed.
+<dt class="POD_ITEM"><a name="_grp_summary"><b>--grp-summary</b></a>
+<dd>
+Summary the status of all by Host Groups defined in the the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage file.
+Each Host Group is displayed in a table that lists the hosts and services, and
+the current status is a colored block or an icon depending on how spong-server
+is configured.
+<dt class="POD_ITEM"><a name="_problems_hostlist_"><b>--problems</b> [<i>hostlist</i>]</a>
+<dd>
+Shows a summary of all the problems (services that are red) for the all
+the hosts in hostlist. If hostlist is not specified, all hosts defined
+in spong.hosts are displayed.
+<dt class="POD_ITEM"><a name="_grp_problems"><b>--grp-problems</b></a>
+<dd>
+Shows a summary of all of the problems (services that are red) for all Host Groups
+defined in the the <a class="POD_LINK" href="spong.groups.html">spong.groups</a> manpage file.
+<dt class="POD_ITEM"><a name="_history_hostlist_"><b>--history</b> [<i>hostlist</i>]</a>
+<dd>
+Show history information for the the list of hosts in hostlist. If host
+list is not specified, all hosts defined in spong.hosts are displayed.
+<dt class="POD_ITEM"><a name="_host_host"><b>--host</b> <i>host</i></a>
+<dd>
+Shows all information available for the given host.
+<dt class="POD_ITEM"><a name="_services_host"><b>--services</b> <i>host</i></a>
+<dd>
+Shows detailed service information for the given host.
+<p></p>
+<dt class="POD_ITEM"><a name="_stats_host"><b>--stats</b> <i>host</i></a>
+<dd>
+Show statistical information for the given host.
+<dt class="POD_ITEM"><a name="_config_host"><b>--config</b> <i>host</i></a>
+<dd>
+Shows configuration information for the given host.
+<dt class="POD_ITEM"><a name="_info_host"><b>--info</b> <i>host</i></a>
+<dd>
+Shows admin supplied text for the given host.
+<dt class="POD_ITEM"><a name="_service_host_servic"><b>--service</b> <i>host:service</i></a>
+<dd>
+Shows detailed information for the given host/service.
+<dt class="POD_ITEM"><a name="_brief"><b>--brief</b></a>
+<dd>
+Display output in a brief format.
+<dt class="POD_ITEM"><a name="_standard"><b>--standard</b></a>
+<dd>
+Display output in standard format (the default).
+<dt class="POD_ITEM"><a name="_full"><b>--full</b></a>
+<dd>
+Display the maximum amount of information possible.
+</dl>
+<h2 class="POD_HEAD1"><a name="CONFIGURATION">CONFIGURATION</a></h2>
+<h3 class="POD_HEAD2"><a name="Configuration_Files">Configuration Files</a></h3>
+<p class="POD_TEXT">
+By default the the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage file is read on startup. It defines some specific
+variable that you probably don't need to override.
+</p>
+<p class="POD_TEXT">
+After reading the configuration file, then reads the
+<code>spong.conf.[host]</code> file where [host] is the host name 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.
+</p>
+<h3 class="POD_HEAD2"><a name="Configuration_Variab">Configuration Variables</a></h3>
+<p class="POD_TEXT">
+Here are a list of variables in the spong.conf file that are applicable
+to the spong-server program:
+</p>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="_SPONGSERVER">$SPONGSERVER</a>
+<dd>
+The make of the server that spong-server is running on.
+<dt class="POD_ITEM"><a name="_SPONG_QUERY_PORT">$SPONG_QUERY_PORT</a>
+<dd>
+The port number that spong-server listens at for database queries.
+<dt class="POD_ITEM"><a name="_SPONGSLEEP_www_spon">$SPONGSLEEP{'www-spong'} or $SPONGSLEEP{'default'}</a>
+<dd>
+The delay in seconds between display reloads.
+<dt class="POD_ITEM"><a name="_WWWFRAMES">$WWWFRAMES</a>
+<dd>
+Number of frames to use for the display (can be 2 or 3).
+<dt class="POD_ITEM"><a name="_TIMEFMTNOSEC_and_DA">$TIMEFMTNOSEC and $DATEFMT</a>
+<dd>
+Date and time formats.
+</dl>
+<h2 class="POD_HEAD1"><a name="FILES">FILES</a></h2>
+<dl class="POD_LIST">
+<dt class="POD_ITEM"><a name="spong_conf">spong.conf</a>
+<dd>
+Configuration file. This contains variables that detail spong and OS specific
+definitions used by spong-server.
+</dl>
+<h2 class="POD_HEAD1"><a name="DEPENDENCIES">DEPENDENCIES</a></h2>
+<p class="POD_TEXT">
+Perl v5.005_03 or greater is required.
+</p>
+<h2 class="POD_HEAD1"><a name="BUGS">BUGS</a></h2>
+<p class="POD_TEXT">
+The <b>--stats</b>, <b>--config</b>, and <b>--info</b> parameters are currently
+not implemented in the spong-server. When specified they will just generate
+a blank HTML page.
+</p>
+<h2 class="POD_HEAD1"><a name="SEE_ALSO">SEE ALSO</a></h2>
+<pre class="POD_TEXT">
+the <a class="POD_LINK" href="spong.hosts.html">spong.hosts</a> manpage, the <a class="POD_LINK" href="spong.conf.html">spong.conf</a> manpage, the <a class="POD_LINK" href="user-guide.html">user-guide</a> manpage
+
+ http://spong.sourceforge.net/  the Spong Home Page
+</pre>
+<h2 class="POD_HEAD1"><a name="AUTHOR">AUTHOR</a></h2>
+<p class="POD_TEXT">
+Ed Hill &lt;<code>ed-hill@uiowa.edu</code>&gt;, Unix System Administrator, The University of
+Iowa
+</p>
+<p class="POD_TEXT">
+Stephen L Johnson &lt;<code>sjohnson@monsters.org</code>&gt;
+</p>
+<h2 class="POD_HEAD1"><a name="HISTORY">HISTORY</a></h2>
+<p class="POD_TEXT">
+Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill
+original converted Big Brother (http://www.bb4.com) into Perl which diverged
+from Big Brother to become Spong. Ed Hill continued Spong development until
+version 2.1. Stephen L Johnson took over development in October, 1999 with his
+changes which became Spong 2.5.
+</p>
+<p class="POD_TEXT">
+the <a class="POD_LINK" href="check_snmp.html">check_snmp</a> manpage
+</p>
+<hr>
+<a class="POD_NAVLINK" href="#Pod_TOP_OF_PAGE">[Top]</a> 
+Generated by Pod::HTML 0.44 on Thu Jun  6 17:59:08 2002
+</body>
+</html>
+