]> git.etc.gen.nz Git - spong.git/commitdiff
Initial revision
authorStephen L Johnson <sjohnson@monsters.org>
Mon, 22 Nov 1999 03:36:41 +0000 (03:36 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Mon, 22 Nov 1999 03:36:41 +0000 (03:36 +0000)
www/docs/spong_conf.html [new file with mode: 0755]

diff --git a/www/docs/spong_conf.html b/www/docs/spong_conf.html
new file mode 100755 (executable)
index 0000000..7a87b43
--- /dev/null
@@ -0,0 +1,401 @@
+<!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.conf</title>
+</head>
+<body>
+
+<hr>
+<h1>
+<a NAME="name"></a>NAME</h1>
+<b>spong.conf</b> - provides configuration information to spong programs.
+<p>
+<hr>
+<h1>
+<a NAME="description"></a>DESCRIPTION</h1>
+The spong.conf file defines variables that are used by all pieces of spong.
+This file (and if it exists, a host specific spong.conf.&lt;hostname> file)
+gets imported by each of the spong programs. It sets variables representing
+the following information:
+<pre>&nbsp;&nbsp;&nbsp; * Standard package information (servername, port number, file locations)
+
+
+&nbsp;&nbsp;&nbsp; * Service thresholds (how much load is ok, disk space, etc.)
+
+
+&nbsp;&nbsp;&nbsp; * OS specific variables (what df command/options should I use, etc.)</pre>
+<b>Depreciated:</b> The spong.conf file can also contain a <tt>&amp;<i>check_local()</i></tt>
+function that will be run by the spong-client program to monitor some system
+specific service that is not done normally by the spong-client program.
+See the <i><a href="spong-client.html">spong-client</a></i> manpage for
+more details.
+<p>The spong.conf 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>
+<hr>
+<h1>
+<a NAME="standard"></a>STANDARD VARIABLES</h1>
+
+<dl>
+<dt>
+<a NAME="spongsleep"></a><b>$SPONGSLEEP</b></dt>
+
+<dd>
+The amount of time (in seconds) to sleep before checking a service again
+(in the spong-network and spong-client programs). This is also the amount
+of time that the spong-display program sets to automatically refresh the
+web page. If the spong-server has not gotten an updated from a service
+in 2* <a href="#spongsleep">$SPONGSLEEP</a> , it considers that data to
+be ``old'', and sets the color of that service to purple.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spongserver"></a><b>$SPONGSERVER</b></dt>
+
+<dd>
+The host that at least the spong-server, spong-display, and spong-message
+programs are running on. Typically the spong-network program runs on that
+host as well.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spongport"></a><b>$SPONGPORT</b></dt>
+
+<dd>
+The port that the spong-server is listening at.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spongtmp"></a><b>$SPONGTMP</b></dt>
+
+<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 /tmp, or /var/tmp.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spongstatus"></a><b>$SPONGDB</b></dt>
+
+<dd>
+The directory on the spong server machine where status report and all other
+infomation for each host is kept. Each category of information has it's
+own subdirectory (i.e. status - services status information, history -
+history files, info - addition information to be displayed on service displays,
+etc.)</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="sponghistory"></a><b>$SPONG_UPDATE_PORT</b></dt>
+
+<dd>
+The port that the spong-server listens at for status updates from clients.</dd>
+
+<dt>
+<b>$SPONG_QUERY_PORT</b></dt>
+
+<dd>
+The port that the spong-server listens at for database queries. This is
+the port that the CGI and command line interface programs use.</dd>
+
+<dt>
+<b>$SPONG_BB_UPDATE_PORT</b></dt>
+
+<dd>
+The port the the spong-server listens at for Big Brother client status
+updates. This spong-server only provides partial Big Brother emulation
+at present. It will only understand status updates,</dd>
+
+<dt>
+<a NAME="www-user-images"></a><b>$WWW_USE_IMAGES</b></dt>
+
+<dd>
+That is a flag to indicate whether you want to use graphic dots for the
+status displays on the web display or use colored text areas. Soem browsers
+seem to have performance problems when display a full windows of the graphic
+dots. If your browsers are having problems, change this value to 0.</dd>
+
+<dt>
+<b>$WWWGIFS</b></dt>
+
+<dd>
+This is the path portion of the URL to where the graphics dot images reside.</dd>
+
+<dt>
+<b>%WWW_COLOR</b></dt>
+
+<dd>
+This hash contains the HTML color codes to be used for the various status
+colors when WWW_USE_IMAGES is 0. There should be entries for "red", "yellow",
+"green", "blue" and "purple".</dd>
+
+<dt>
+<b>$WWWHTML</b></dt>
+
+<dd>
+The full file path to where the '/html' directory of the Spong WWW data
+was installed. It should be the $IWWW directory specified in the <i>build&nbsp;</i>
+installation program plus "/html' (i.e. $IWWW/html). This directory is
+the repository of the online help documentation. You can also specifiy
+customize html headers and footer on the web pages generated (see the <a href="admin-guide.html#header-footer">Administrators
+Guide</a>).</dd>
+
+<dt>
+<b>$WWWSPONG</b></dt>
+
+<dd>
+The full URL to access the <i><a href="www-spong.html">www-spong</a></i>
+CGI program. This URL is used by <i><a href="www-spong.html">www-spong</a></i>
+while generate web pages to provide links to move deeper web pages.</dd>
+
+<dt>
+<b>$WWWACK</b></dt>
+
+<dd>
+The full URL to access the <i><a href="www-spong-ack.html">www-spong-ack</a></i>
+CGI program. This URL is used by <i><a href="www-spong.html">www-spong</a></i>
+to generate links which allow Spong Acknowledgements to be generated.</dd>
+
+<dt>
+<b>$WWWCONTACT</b></dt>
+
+<dd>
+The full URL to a customized CGI program that provide a way of contacting
+staff. www-spong will generate "smart" links depending on the web page
+being displayed. for more information on this feature, please see the <a href="admin-guide.html#custom-contacts">Administrator
+Guide</a>.</dd>
+
+<dt>
+<a NAME="www-refresh-allow"></a><b>@WWW_REFRESH_ALLOW</b></dt>
+
+<dd>
+A list of Perl regular expressions that are checked against the REMOTE_ADDR,
+REMOTE_HOST and REMOTE_USER enviornmental CGI varables. If there is a match
+on any of these variables, <i><a href="www-spong.html">www-spong </a></i>will
+attach a REFRESH meta tag to reload the web pages every <b><a href="#spongsleep">$SPONGSLEEP</a></b>
+seconds. See the <a href="admin-guide.html#autorefresh">Administrator Guide</a>
+for more details.</dd>
+
+<dt>
+<a NAME="www-refresh-deny"></a><b>@WWW_REFRESH_DENY</b></dt>
+
+<dd>
+A list of Perl regular expressions that are checked against the REMOTE_ADDR,
+REMOTE_HOST and REMOTE_USER enviornmental CGI varables. If there is a match
+on any of these variables, <i><a href="www-spong.html">www-spong </a></i>will
+NOT attach a REFRESH meta tag. User's must use the Reload/Refresh button
+on their web broswer to update the Spong&nbsp; web pages. See the <a href="admin-guide.html#autorefresh">Administrator
+Guide</a> for more details.</dd>
+
+<br>&nbsp;</dl>
+
+<hr>
+<h1>
+<a NAME="service-threshold"></a>SERVICE THRESHOLD VARIABLES</h1>
+
+<dl>
+<dt>
+<a NAME="dfignore"></a><b>@DFIGNORE</b></dt>
+
+<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.</dd>
+
+<br>&nbsp;
+<dt>
+<b>%DFWARN</b>, <b>%DFCRIT</b></dt>
+
+<dd>
+&nbsp;A hash of file systems (or the word ``ALL''), and the percentage
+that should trigger a problem (<b>%DFWARN</b> triggers warnings - yellow,
+and <b>%DFCRIT</b> 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.</dd>
+
+<br>&nbsp;
+<dt>
+<b>$CPUWARN</b>, <b>$CPUCRIT</b></dt>
+
+<dd>
+&nbsp;A number indicating the CPU load that triggers a problem (<b>$CPUWARN</b>
+triggers warnings - yellow, and <b>$CPUCRIT</b> triggers alerts - red).</dd>
+
+<br>&nbsp;
+<dt>
+<b>@PROCSWARN</b>, <b>@PROCSCRIT</b></dt>
+
+<dd>
+&nbsp;A list of processes that should be running, if they are not running,
+then trigger a problem (processes in <b>@PROCSWARN</b> trigger a warning
+- yellow, and processes in <b>@PROCSCRIT</b> trigger an alert - red).</dd>
+
+<br>&nbsp;
+<dt>
+<b>$LOGCHECKS</b></dt>
+
+<dd>
+A list of hashes which defined checks to apply to log files. Each hash
+contains the fields <b>logfile</b> which is the full path to the log file
+to check and <b>checks</b> whch&nbsp; is a list of check to apply to the
+log file. Each check is a hash that contains the fields: <b>pattern</b>
+- a Perl regular expression to be scanned for, <b>status</b> - the status
+color to reported lines matching pattern, duration - the duration that
+each event is to be reported to the server, <b>text </b>- the text to reported
+back in the detailed message field of the status report (which can include
+match position variables from <b>pattern</b>) and <b>id</b> - an optional
+key field to associated with each event generated.&nbsp; See the <i><a href="check_logs.html">check_logs</a></i>
+documentation for more information and examples.</dd>
+
+<br>&nbsp;
+<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>
+
+<dd>
+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</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spong.conf_send_message_0"></a><b>$SEND_MESSAGE</b></dt>
+
+<dd>
+$SEND_MESSAGE defines when <b>spong-message</b> is called by spong-server.
+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&nbsp; everytime 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.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spong.conf_message_per_hour_0"></a><b>$MESSAGE_PER_HOUR</b></dt>
+
+<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.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spong.conf_ident_messages_per_hour_0"></a><b>$IDENT_MESSAGES_PER_HOUR</b></dt>
+
+<dd>
+This is the maximum number of identical messages that are sent to the same
+person in an hour. The default value is 3.</dd>
+</dl>
+
+<hr>
+<h1>
+<a NAME="spong.conf_os_0"></a>OS SPECIFIC VARIABLES</h1>
+
+<dl>
+<dt>
+<b>$DF</b>, <b>$UPTIME</b>, <b>$PS</b>, <b>$GREP</b>, <b>$PING</b>, <b>$TRACEROUTE,
+$MAILQ</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>
+</dl>
+
+<hr>
+<h1>
+<a NAME="spong.conf_functions_0"></a>FUNCTIONS</h1>
+DEPRECIATED:&nbsp; <i><a href="spong-client.html">spong-client</a></i>
+checks are now modules. See <a href="developer-guide.html#client-modules">Client
+Modules</a> in the <a href="developer-guide.html">Developer Guide</a> documentation.
+<br>&nbsp;
+<p>You can defined a <tt>&amp;<i>check_local()</i></tt> function in the
+spong.conf file that will be run by the spong-client program. This function
+can be used to extend the functionality of spong-client, and allow you
+to check on some service beyond the four (disk, cpu, procs, logs) that
+spong-client already checks.
+<p>Here is an example <tt>&amp;<i>check_local()</i></tt> function that
+we run on some of our machines to check to make sure that our sendmail
+mail queue is not getting too large.
+<pre>&nbsp;sub check_local {
+&nbsp;&nbsp;&nbsp; my $color&nbsp;&nbsp;&nbsp; = "green";
+&nbsp;&nbsp;&nbsp; my $summary&nbsp; = ""
+&nbsp;&nbsp;&nbsp; my $rt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = `mailq | head -1`;
+
+&nbsp;&nbsp;&nbsp; chomp $rt;
+
+&nbsp;&nbsp;&nbsp; if( $rt =~ /\((\d+) request/ ) {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $items = $1
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( $items > 1000 )
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $color = "red";
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } elsif( $items > 500 ) {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $color = "yellow";
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $summary = "$items messages in the mail queue";
+
+&nbsp;&nbsp;&nbsp; } else {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $color = "yellow";
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $summary = "Can't parse mailq output: $rt";
+&nbsp;&nbsp;&nbsp; }&nbsp;
+
+&nbsp;&nbsp;&nbsp; &amp;status( $SPONGDISPLAY, $HOST, "local", $color, $summary, "" );
+&nbsp;}</pre>
+
+<hr>
+<h1>
+<a NAME="files"></a>FILES</h1>
+
+<dl>
+<dt>
+<a NAME="spong_conf-file"></a><b>/usr/local/etc/spong/spong.conf</b></dt>
+
+<dd>
+This is the standard spong.conf file that is read by all spong programs.</dd>
+
+<br>&nbsp;
+<dt>
+<a NAME="spong_conf_host"></a><b>/usr/local/etc/spong/spong.conf.[host]</b></dt>
+
+<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 hostname of the machine you are running on (strobe.weeg.uiowa.edu),
+or just the name minus the domain (strobe). It looks for the full name
+first, and then if it can not find it - it looks for the shorter name.</dd>
+</dl>
+
+<hr>
+<h1>
+<a NAME="spong.conf_see_0"></a>SEE ALSO</h1>
+the <i>perl</i> manpage , the <i>spong-server</i> manpage , the <i>spong-network</i>
+manpage , the <i>spong-client</i> manpage , the <i>spong-display</i> manpage
+, the <i>spong-message</i> manpage , <i>spong.hosts</i>
+<p>
+<hr>
+<h1>
+<a NAME="author"></a>AUTHOR</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 (stephen.johnson@mail.state.ar.us) or (sjohnson@monsters.org),
+Unix System Administator, DIS - State of Arkansas
+<p>Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong).
+</body>
+</html>