--- /dev/null
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) [Netscape]">
+ <title>spong-network</title>
+</head>
+<body>
+
+<hr>
+<h1>
+<a NAME="spong-network_name_0"></a>NAME</h1>
+<b>spong-network</b> - report network service information to spong server.
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_synopsis_0"></a>SYNOPSIS</h1>
+<b>spong-network</b> [--debug] [--kill|--restart|--nosleep|--refresh] [config_file]
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_description_0"></a>DESCRIPTION</h1>
+This does two things, first it checks network connectivity to various machines
+that you want to monitor (via ping). It then tries to connect to the services
+that are running on each host to make sure they are available. 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>Besides checking connectivity (first using tcp echo, and then ICMP ping
+if that fails), the following TCP/UDP based services can be checked.
+<pre>
+ * dns (asks the bind server to resolve its own name)
+
+
+ * ftp (checks for a 220 return code)
+
+
+ * pop3 (checks for a "OK" return string)
+
+
+ * smtp (checks for a 220 return code)
+
+
+ * nntp (checks for a 200 return code)
+
+
+ * imap (checks for a "OK" return string)
+
+
+ * http (checks for a 200-300 return code)
+
+ * ssh (checks for "SSH" in return string)
+
+
+
+
+
+
+</pre>
+The DNS check will only be performed if you have the Perl Net::DNS module
+installed on your system. This module does not come with spong, but can
+be downloaded at <a href="http://www.perl.com/CPAN/">http://www.perl.com/CPAN/</a>.
+<p>For each of these network services, the following information is reported
+to the spong server.
+<pre>
+ * hostname (the host the service is running on)
+
+
+ * service name ("ftp", "pop3", "smtp", ...)
+
+
+ * color ("red", "yellow", "green")
+
+
+ * a one line summary
+
+
+ * a more detailed message providing additional detail.
+
+
+
+
+
+
+
+</pre>
+These checks are modular in nature.New checks can be added or old checks
+replaced with newer versions. See <a href="developer-guide.html#network-modules">Client
+Modules</a> in the <a href="developer-guide.html">Developers Guide</a>.
+<p>For most services, the color is determined by comparing the return value
+of the service against an expected string. For some services (like http)
+there are some additional smarts built in to determine the status of the
+service.
+<p>The spong-network program can also check multiple interfaces on a given
+host. See <i><a href="spong_hosts.html">spong.hosts</a></i> for instructions
+on how to set this up in your spong.hosts file.
+<p>The one line summary provides information that might be useful at a
+glance when looking at the overall system status (such as the response
+time of the service). The more detailed message contains information such
+as the output of the service.
+<p>You should start this program in your system startup file, and it should
+be running constantly. The program will daemonize by default unless one
+of the flags below is given.
+<p>If you provide the --debug flag, then debugging information will be
+printed to stdout and the program will be forced to run in the fore ground,
+otherwise output will only be produced if there is a problem.
+<p>If you provide the --restart flag, a signal will be sent to the spong-network
+process that is currently running that will cause it to reload it's configuration
+files. If you provide the --kill flag, a signal will be sent to the running
+spong-network process causing it to exit. The --nosleep and --refresh flags
+caus the program to cycle through all of the checks one
+<br>and then exit. These flags can be used to run <i>spong-network</i>
+from cron.
+<br>
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_configuration_0"></a>CONFIGURATION</h1>
+The configuration of the spong-network program is two fold, the first part
+is the <a href="spong_hosts.html">/usr/local/etc/spong/spong.hosts</a>
+file. This file defines the host that you want to monitor and the network
+services running on that host (all hosts are checked for connectivity via
+ping). See <i><a href="spong_hosts.html">spong.hosts</a></i> for additional
+information.
+<p>The second part of the configuration is the <a href="spong_conf.html">/usr/local/etc/spong/spong.conf</a>
+file which defines some specific variables that you probably don't need
+to override. By default the <a href="spong_conf.html">/usr/local/etc/spong/spong.conf</a>
+file is read on startup. You can specify an alternate config file via a
+command line option and it will read that file instead. If you change values
+in the configuration file you will need to restart this program for those
+changes to be re-read.
+<p>After reading the configuration file that you specify (or the default),
+it then reads the <i>/usr/local/etc/spong/spong.conf.[host]</i> file where
+[host] is the hostname of the machine that you are running on. Since these
+configuration files are just standard perl code that gets imported, the
+variables that you define in the host specific config file will take precedence
+over the standard configuration settings.
+<p>Here are a list of variables in the spong.conf file that are applicable
+to the spong-network program:
+<dl>
+<dt>
+<b>$SPONGSLEEP</b>, <b>$SPONGSERVER</b>, <b>$SPONGPORT</b></dt>
+
+<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
+on.</dd>
+
+<dt>
+<b>%HTTPDOCS</b>, <b>%HTTPPORT</b></dt>
+
+<dd>
+ These variables provide some parameters when checking http based
+servers. The <b>%HTTPDOCS</b> 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.</dd>
+
+<br>
+<dl>The <b>%HTTPPORT</b> 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.
+<br> </dl>
+
+<dt>
+<b>$PING</b>, <b>$TRACEROUTE</b>, <b>$GREP</b></dt>
+
+<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.</dd>
+
+<br> </dl>
+
+<hr>
+<h1>
+<a NAME="files"></a>FILES</h1>
+
+<dl>
+<dt>
+<b>/usr/local/etc/spong/spong.conf</b></dt>
+
+<dd>
+Configuration file. This contains variables that detail spong and OS specific
+definitions used by spong-network. See <i>spong.conf</i> for additional
+documentation.</dd>
+
+<dt>
+<b>/usr/local/etc/spong/spong.hosts</b></dt>
+
+<dd>
+Host and human configuration file. This defines what hosts you are monitoring,
+and what human you should contact if there is a problem. See <i>spong.hosts</i>
+for additional documentation.</dd>
+
+<br>
+<p>
+<br>
+<br> </dl>
+
+<hr>
+<h1>
+<a NAME="spong-network_dependencies_0"></a>DEPENDENCIES</h1>
+Perl v5.003 or greater is required.
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_bugs_0"></a>BUGS</h1>
+It does everything sequentially, so if you have big connectivity problems,
+it can take forever to make it through all the services. I should fork
+off processes to do the checking, so that a down host doesn't slow down
+the processing of other hosts.
+<p>I should check connectivity a little better, check it once and then
+back off, and keep backing off little by little until the host is reachable
+again - like pong does...
+<p>The http check is not configurable enough.
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_see_0"></a>SEE ALSO</h1>
+the <i>spong-server</i> manpage , <i>spong.hosts</i>, <i>spong.conf</i>
+<p>
+<hr>
+<h1>
+<a NAME="spong-network_author_0"></a>AUTHORS</h1>
+Ed Hill (<a href="MAILTO:ed-hill@uiowa.edu">ed-hill@uiowa.edu</a>), Unix
+System Administrator, The University of Iowa
+<br>Stephen L Johnson (<a href="MAILTO:stephen.johnson@mail.state.ar.us">stephen.johnson@mail.state.ar.us</a>
+or <a href="MAILTO:sjohnson@monsters.org">sjohnson@monsters.org</a>) ,
+Unix Systems Administrator, DIS - State of Arkansas
+<p>Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong).
+</body>
+</html>