From 2e412813c130e9d7a94391ed55b0825d16bf8aee Mon Sep 17 00:00:00 2001 From: Stephen L Johnson Date: Wed, 6 Sep 2000 04:22:43 +0000 Subject: [PATCH] removed old html doc files --- www/docs/FAQ.html | 158 -------- www/docs/admin-guide.html | 291 --------------- www/docs/changes.html | 181 ---------- www/docs/check_cpu.html | 68 ---- www/docs/check_disk.html | 79 ---- www/docs/check_logs.html | 158 -------- www/docs/check_processes.html | 63 ---- www/docs/developer-guide.html | 308 ---------------- www/docs/spong-2_0.html | 374 ------------------- www/docs/spong-client-mod-template.html | 64 ---- www/docs/spong-client.html | 193 ---------- www/docs/spong-message-mod-template.html | 40 --- www/docs/spong-message.html | 290 --------------- www/docs/spong-network-mod-template.html | 85 ----- www/docs/spong-network.html | 232 ------------ www/docs/spong-server-mod-template.html | 60 ---- www/docs/spong-server.html | 191 ---------- www/docs/spong.html | 201 ----------- www/docs/spong_conf.html | 440 ----------------------- www/docs/spong_hosts.html | 181 ---------- www/docs/spong_message.html | 233 ------------ www/docs/todo.html | 62 ---- www/docs/user-guide.html | 273 -------------- www/docs/www-spong.html | 210 ----------- 24 files changed, 4435 deletions(-) delete mode 100755 www/docs/FAQ.html delete mode 100755 www/docs/admin-guide.html delete mode 100755 www/docs/changes.html delete mode 100755 www/docs/check_cpu.html delete mode 100755 www/docs/check_disk.html delete mode 100755 www/docs/check_logs.html delete mode 100755 www/docs/check_processes.html delete mode 100755 www/docs/developer-guide.html delete mode 100755 www/docs/spong-2_0.html delete mode 100755 www/docs/spong-client-mod-template.html delete mode 100755 www/docs/spong-client.html delete mode 100755 www/docs/spong-message-mod-template.html delete mode 100755 www/docs/spong-message.html delete mode 100755 www/docs/spong-network-mod-template.html delete mode 100755 www/docs/spong-network.html delete mode 100755 www/docs/spong-server-mod-template.html delete mode 100755 www/docs/spong-server.html delete mode 100755 www/docs/spong.html delete mode 100755 www/docs/spong_conf.html delete mode 100755 www/docs/spong_hosts.html delete mode 100755 www/docs/spong_message.html delete mode 100755 www/docs/todo.html delete mode 100755 www/docs/user-guide.html delete mode 100755 www/docs/www-spong.html diff --git a/www/docs/FAQ.html b/www/docs/FAQ.html deleted file mode 100755 index 8d7438d..0000000 --- a/www/docs/FAQ.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - Spong FAQ - - - -

-Spong Frequently Asked Questions

- -
-
This document contains a list of the most Frequenly Asked Questions -(FAQ) about Spong. It is really not a HOWTO, but is in a classical Question -/ Answer form. -
-
-
1. What is Spong? -
2. Why doesn't my spong-client status updates -show up on the spong-server? -
3. How do I get e-mail/paging/alpha -paging/notifications to work? -
  -
  -

-1. What is Spong?

-his is a simple system monitoring package called spong. It has the -following features: - -This is hopefully a *simple* 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 todo list). -
  -

-2. Why doesn't my spong-client status update -show up on the spong-server

-If your spong-client is setup and runs properly (i.e. spong-client --debug -shows that the ehcks are being run and the results are being sent to the -spong-server). Depending on how your server is setu, the full domain name -of your host may not returned with the code that spong-client uses. -

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. -

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 "$h\n"' -

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 macine. If they don't match then you can do 1 of 2 things.  -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 -

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. -

There a utility gethost-test in the /utils 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  'perl gethost-test'. -

-3. How do I get e-mail/paging/alpha -paging/notifications to work?

-The most important thing is to go through the spong.conf, spong.hosts, -and spong.messge configuration files. And be sure to read the documention -for spong.conf, spong.hosts, -spong.message, -configuration files and the  spong-message -and -spong-server programs. -

If your are still having problems, follow the check list below to help -resolve your problem. -
  -

    -
  1. -In spong.conf make sure the $SEND_MESSAGE is set to 'RED', 'CHANGE' or -'RED-CHANGE'.
  2. - -
      -
  3. -.In spong.mesage make sure that $RULES_MATCH is set to 'ALL' or 'FIRST-MATCH'.
  4. - -
    If you set it to 'OLD', spong-message will revert to an old notification -method. -
      -
  5. - If your are having problems with defining your rules, put in a very -minimal rules set.
  6. -
    -   $MESSAGING_RULES = [
    -                         {
    -                            contacts => [ 'sjohnson' ]
    -                         },
    -                      ];
    -
    -

    This will send everything to the 'sjohnson' contact. -
      -

  7. -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:
  8. -
    -

    -   %HUMANS = (
    -      'sjohnson' => {
    -                      name => 'Stephen Johnson',
    -                      email => 'stephen.johnson@mailhost.at.my.com',
    -                    },
    -   );
    -

    -
  9. -And you can test your $MESSAGING_RULES defined in spong.message, your can -run spong-message in debugging mode to see what is happening step by step:
  10. -

    spong-message --debug red hostname.my.com disk 98765432 'This is a test'

    -

    This will generate a lot of verbose output. you might want to redirect -it to to a file. spong-message counts rules starting with 0 just to be forewarned. - -

-
  -

-


-

-AUTHOR

-Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/admin-guide.html b/www/docs/admin-guide.html deleted file mode 100755 index 83ee980..0000000 --- a/www/docs/admin-guide.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - admin-guide - - - -

-Spong Administrator's Guide

- -
-

-Installation

- -

-Installation - Server

-To build and install the spong server do the following on the machine running -your web server. -
    -
  1. -Edit the "build" 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.
  2. - -
      -
  3. -Check to make sure there is a config/spong.conf.<os> 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.<os> -file, then please email it to me so that I can add it to the distribution.
  4. - -
      -
  5. -Make sure you are in the directory that you unpacked spong in and type: -./build -<os> where  <os> is the name corresponding to your operating -system. You can type ./build help to generate a list of valid -operating system strings.
  6. - -


     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 "tokens" 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. -
      -

  7. -Now, type ./build install. Note that the install process makes -no assumptions about what user you want to run spong as (you don't -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).
  8. - -
      -
  9. -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.
  10. -
- -


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 SPONGSTATUS directory that you defined in the spong.conf -file. -

NOTE - HOSTNAMES: Part of spong-server's status message authentification -has to do with host names. spong-server 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. -

So it is important that your serves are able to resolve their fully -qualified domain name.  To add in this check is a little perl test -program gethost-test from in the "utils" directory of the Spong -distribution. Just run it from a command line by entering perl gethost-test. -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. -
  -

-Installation - Client

-For each client machine you will need to install the the package just like a -te server installation described above. After the './build install' step -is done, you can remove a number of directories that are not needed by -spong-client. (Assuming a standard installation directory).
- - -

The only configuration file that you have to edit is the spong.conf file. -

If your 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 mechamism your would -normally use. Just be sure the Spong installation directory into the same -location as the original client. -

-


-

-Debugging Problems

-The general way to debug Spong programs is to use the --debug parameter. -This force the program to run in the fore-ground, if it backgrounds itself, -and the program will print out a lot of debugging statements. -
  -
-spong-server
- -
-When spong-server is run with --debug the primary process will run in the -fore-ground and all of the child processes with write their debugging statements -to the screen. The query processing will print out all of the database -queries with the type of data requested and in what format. The spong -update and Big Brother update process will print out host/service/color -of every status message that is received.
- -
  -
-spong-client
- -
-spong-client will print out the check that is being performed along with -the status and the summary message.
- -
-
- -
-spong-network
- -
-spong-network will print out the current host that is is checking and the -name of the check as it performs them, along with the status and the summary -message.
- -
-
- -
-spong-message
- -
-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 "Summary message" [duration]
- -
-
- -
-where
- -
-   time - 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.
- -
-   duration - This is the current of the current status in seconds. -It is an optional parameter. It defaults to 0.
- -
-
- -
-spong-mesage will print out the current rule number(starting with 0), and -then the success or failure of all of the checks of the matching attributes.After -the rules matching phase, spong-message will then print out all of the -people being notified and how they are being notified. spong-message can -potentially print out a large quantity of debugging. You may want to redirect -the output to a file while you testing it.
- -


-


-

-Customizing Web Pages

-Spong have a feature that allows users to customize some aspects of the -Spong web pages.  If a header and/or footer template file exists, -then 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 /html directory where the spong www/ directory was installed (the $IWWW -variable from the build program) and named header.html or footer.html, -respectively. -

Place the HTML code that you want display into the template files.  -You can also specifiy other HTML files to be included when the file is -display.  Insert  the string "!!WWWSHOW!!/filename" into -the place that your desire the file named "filename" to be display. The -file to be include should placed into the same directory are the header.html -or footer.html file resides. -

Note: This customization feature is limited in the current release.  -More subsitiution 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.) -
  -

-Expanded Host Status Web Pages

-This feature is one of Spong's best kept secrets. You can create additional -information files that will be displayed on all host status displays. To -use this feature ,you first have to create an info directory in a host's -database directory (i.e. $SPONGDB/hostname/info/ -). Then you place the documentation files that will displayed into that -directory. spong-server looks for -the the following files: -

$SPONGDB/hostname/info/info.txt -
$SPONGDB/hostname/info/info.html -

$SPONGDB/hostname/info/info.brief.txt -
$SPONGDB/hostname/info/info.standard.txt -
$SPONGDB/hostname/info/info.full.txt -

$SPONGDB/hostname/info/info.brief.html -
$SPONGDB/hostname/info/info.standard.html -
$SPONGDB/hostname/info/info.full.html -

spong-server first looks for -a info.brief, info.standard or info.full file depending on the  type -of display (brief, stanard or brief; and html or txt). If the program finds -one it will display that file.  Otherwise, spong-server -will -look for a info.txt or info.html file and then display that file as a default. -

The .txt files are used with text mode displays like those generated -by the spong command. The .html files are -used by the html mode displays. The .html files can contain html code,  -URLs, embeded graphics, Javascript, or anything that you display on a web -page. -
  -

-Smart "Contact Staff" Links

-The web pages generated by Spong have "smart" "Contact Staff" 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 -"Contact Staff" link on a page's action bar that has the hosts and a message -which contains all of the current problems that system currently has. -

The "Contact Staff" link's URL consists of two parts. The first part -is the $WWWCONTACT from -the spong.conf configuration file. It contains -the URL to your contact staff CGI program that your must supply (see below). -The second part of the are the host name and the problem message passed -as two form variables: host and message respectively. -

The $WWWCONTACT CGI -program needs to handle two form variables (host and message) -and place them into a form for the user to fill out. A TEXT field should -be used to the host variable with a size of 50 characters of so -to handle big host names. The message 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 field that you need -into order to send your messages. -
  - -

Customized Action Bar

-The Action Bar of the Host and Service Status Displays (see the -User Guide for more details) can be customized -with the $WWW_ACTIONBAR_CUSTOM - configuration parameter. Any HTML code defined in this parameter -will be included on the end of the Action Bars. - -

This parameter is preprocessed -with eval before the contents are printed. This allows you to -include complex perl variables or perl code. Because of the eval you -should use single quotes to enclose the contents of this parameter. This -will prevent premature evaluation of perl variables before the preprocessing. - -

If your do not need this customization, just leave -$WWW_ACTIONBAR_CUSTOM undefined. Nothing will be added to the Action Bars. - - -

-WWW_REFRESH LOGIC

-The default of the spong-server is to not allow auto-refreshes if @WWW_REFRESH_ALLOW -and @WWW_REFRESH_DENY -variables are empty.  The spong-server the matched the REMOTE_ADDR, -REMOTE_HOST, and REMOTE_USER field sagainst the list REFRESH_ALLOW expressions. -If there is a match the session if ok'ed for auto-refreshes. The server -then checks the REMOTE_xxx 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. -

For example, if REFRESH_ALLOW contains[ 'joe', '.*-support', '^192.168.12.*', -'noc-display' ] and REFRESH_DENY contains ['bill','mary']. If a web browers -on a machine at ip address 192.168.12.143 was displaying the spong-server -web pages, the auto-refresh would be enables because it matches the '^192.168.12.*' -expression of REFRESH_ALLOW. But if the user was fred at the same machine -(192.168.12.143), access the web pages auto-refresh would not be enables -because 'fred' is in the RERESH_DENY list. -
  - - diff --git a/www/docs/changes.html b/www/docs/changes.html deleted file mode 100755 index 5cebdc2..0000000 --- a/www/docs/changes.html +++ /dev/null @@ -1,181 +0,0 @@ - - -Spong v1.1 - ChangeLog - - - -

Spong v1.1 - ChangeLog

-
- -This file documents the changes that have been made to spong from release to -release, currently I have only updated spong once, but I will be adding new -features and change things around from time to time, and this document will log -those changes. Here is a quick overview of significant changes, scroll below -for a more detailed summary:

- -

- -Thanks to those (even my co-workers) who have contributed either code or just -suggestions. I have tried to put names next to changes where people -contributed patches. I'm not promising that I used the contributed code as is, -but I tried to stay true in most cases to what was asked for. If I left off -someone's name I apologize.

-


- -

Changes between spong 1.0 and spong 1.1

- -Released 04/15/1997

- -This is primarily a bug fix release with a few minor features added. -Everything done in this release is based on feedback that I got from my -co-workers and people who decided to take a look at spong after my message to -the BB list. The most significant changes are:

- -

- -Here is a more detailed summary of changes, organized by file(s).

- -

-
all: -
  • changed the way that the hostname was determined so that it got set to -the FQDN regardless of how you define the hostname on the host. (Russell -Street) -
  • Converted the hostname to lowercase to ward off problems with names not -matching up correctly. (Carlos Canau). -

    - -

    spong-server: - -
  • stoped ignoring child processes, this fixes a problem with defunct -processes under Solaris - -
  • changed the accept() loop to make it identical to the one in the latest -camel book - was having odd problems with the way that I had it. - -
  • dumps it's pid to a file in the spong directory, and if you kill -HUP -the process it will now re-exec itself, effectively re-reading the -spong.conf/spong.hosts files. Also added two new command line options: ---restart will cause the running spong-server to reread it's config files (it -really just restarts itself), and --kill will kill the current running -spong-server program. (Russell Street) - -
  • added a configuration option ($SEND_MESSAGE) so that you can decided if -you want to send a message every time there is a red report, or only if there -is a change in state of some service (send a message when it goes red, and send -it again when it goes green). - -
  • stopped filtering out blank lines in messages sent from the clients. -

    - -

    spong-network: - -
  • added a DNS check. If a system is running a DNS server, the dns server -will be asked to resolve it's own name, and if it can then all is assumed to be -ok, otherwise an error is generated. This check will only take place if you -have the Net::DNS perl module installed (available from CPAN - -http://www.perl.com/CPAN/) (Russell Street - although probably less then he -wanted 8-) - -
  • sleep the standard amount plus some random 10% time period just so -things don't get in some goofy pattern... - -
  • made the http check more configurable, it now allows you to specify what -port to check, and what file(s) to check for - you can now use the http check -to check on proxy servers. - -
  • dumps it's pid to a file in the spong directory, and if you kill -HUP -the process it will now re-exec itself, effectively re-reading the -spong.conf/spong.hosts files. Also added two new command line options: ---restart will cause the running spong-network to reread it's config files (it -really just restarts itself), and --kill will kill the current running -spong-network program. (Russell Street) - -
  • added a new host attribute (ip_addr) in the spong.hosts file that allow -you to specify if a machine has multiple network interfaces (you need to list -each interface's IP address) the app, and then spong-network will attempt to -ping each interface - -
  • stopped doing traceroutes to machines that are down. It took too long, -and can overload your network. I now just show the ping output as the message -when the host is down. -

    - -

    spong-client: - -
  • sleep the standard amount plus some random 10% time period just so -things don't get in some goofy pattern... - -
  • spong-client: Added single quotes around process check so that you can -check for strings with spaces and other odd characters. - -
  • adjusted the regular expression so that it doesn't leave off the first -part of the mount point (Russell Street) - -
  • Checked against both the filesystem and mounted on directory for -strings to ignore. - -
  • spong-client: dumps it's pid to a file in the spong directory, and if -you kill -HUP the process it will now re-exec itself, effectively re-reading -the spong.conf/spong.hosts files. Also added two new command line options: ---restart will cause the running spong-client to reread it's config files (it -really just restarts itself), and --kill will kill the current running -spong-client program. (Russell Street)

    - -

    spong-display: - -
  • changed the "stale" time to 3 times the sleep time, with the new -randomness of the sleep, and given that it can take a while for spong-network -to do its thing, a value of 3 seems better then 2 for now. -

    - -

    spong-message: - -
  • added "color" as another argument, this was needed when I added the -ability to send a message just based on a change of state. - -
  • added a couple of configuration variables so that you can alter how -often you want messages sent. -

    - -

    other files: - -
  • README: updated to include licensing information, also moved away from -the readme.pod file to just creating it based on the readme.html file (since -pod2html doesn't make the readme page look good enough in HTML). - -
  • Got rid of Makefile, decided that since you have to have Perl to use -this program, I just wrote a simple build script in Perl - this gets around -problems I had with the Makefile, and different versions of make (thanks though -to those who gave me patches for the Makefile). The new "build" script also -fixes the following couple of problems: - -
      -
    • No chown/chgrp to root - let people install it how they like... -
    • if you make more then once, the OS specific stuff gets added each time -
    • adds more instructions to the installation process -
    - -
  • new spong.conf.linux: from (Baba Z Buehler) -
  • added spong.conf.solaris: from (Baba Z Buehler) - -
  • -
    -Most recently updated on Apr 3, 1997 by -Ed Hill -(ed-hill@uiowa.edu) - - - - diff --git a/www/docs/check_cpu.html b/www/docs/check_cpu.html deleted file mode 100755 index a710f91..0000000 --- a/www/docs/check_cpu.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - check_cpu - - - -
    -

    -NAME

    -check_cpu - check cpu load levels and uptimes -

    -


    -

    -DESCRIPTION

    -This is a client check that is run by spong-client that checks the -client host's cpu load levels and uptime. check_cpu used the output -of the uptime command by checking the the second load average number -(a.k.a 5 minute load average). The load average is checked against the -$CPUWARN -and $CPUCRIT levels. If the load level exceeds $CPUWARN, -it triggers a warning - yellow, and if the load level exceeds $CPUCRIT, -it triggers an alert - red. -

    The uptime is client host is also checked. If the uptime of the system -is less then one hour,  a warning is triggered to show that the system -has been restarted recently. -
      -

    -OUTPUT RETURNED

    -In the status summary field, the system uptime, 5 minute load average, -current number of users logged in and the total number job running on the -system are returned. -

    If the system ps command is capable of it, the top 10 processes, sorted -by cpu percentage, are returned in the status detailed message field. -

    -CONFIGURATION

    -Here is a list of all of the configuration variables used by check_cpu. -
    $CPUWARN, $CPUCRIT -
    A number inidicating the CPU load that triggers a problem ($CPUWARN -triggers warning - yellow, and $CPUCRIT triffers alerts - red). -

    $UPTIME -
    An OS specific variable that contains the full path to the uptime -command and any other commands needed to get the uptime output needed for -parsing. -

    $PS -
    An OS specific variable that contains the full path to the ps -command with the paramters needed to the ps command output to display in -the status detailed messages field.

    -FILES -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-client. This file also contain variables describing -threshold levels. See spong.conf for additional documentation.
    -
    -AUTHOR -

    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -
      -
      - - diff --git a/www/docs/check_disk.html b/www/docs/check_disk.html deleted file mode 100755 index b34fab4..0000000 --- a/www/docs/check_disk.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - -


    -

    -NAME

    -check_disk - disk space client check modules -

    -


    -

    -DESCRIPTION

    -This is a client check that is run by spong-client that checks disk -space and swap space on the client host. check_disk  uses the -output of the df command by checking the percentage of space used -by each mounted file system. The percentage of space used is checked against -%DFWARN -and %DFCRIT levels to generate an appropirate  yellow or red -status. -

    Swap space is also checked by using the &get_swap() function -which returns a message and a percentage of total space space used. This -percentage is checked against the $DFWARN{'page'} and $DFCRIT{'page'} -entry levels to generate an appropriate yellow or red status. -
      -

    -OUTPUT RETURNED

    -SUMMARY MESSAGE FIELD -
    If all statuses are green, check_disk returns the largest file system -in use. Otherwise If any file systems are in red status, a list all of -the mount points with the percent of space used is returned. -

    DETALED MESSAGE FIELD -
    The output of the df command and the message returned by the -&get_swap -function are returned. -
      -

    -CONFIGURATION

    -Here is a list of all of the configuration variables used by check_disk. -
    @DFIGNORE -
    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. -

    %DFWARN, %DFCRIT -
    A hash of file systems (or the word ``ALL''), and the percentage that -should trigger a problem (%DFWARN triggers warnings - yellow, and -%DFCRIT -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. -

    $DF -
    An OS specific variable that contains the path to the df command  -and paramters to be run to get file systems used information. -

    &get_swap() -
    An OS specific function that get the total space space usage information. -It returns two paramaters: message - a strings containing the swap -usage information to be returned in the detail message field of the status -message, and total_swap - a percentage of the total amount of space -space in use. -
     

    -FILES -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-client. This file also contain variables describing -threshold levels. See spong.conf for additional documentation.
    -
    -AUTHOR -

    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -
      - - diff --git a/www/docs/check_logs.html b/www/docs/check_logs.html deleted file mode 100755 index ee7d20a..0000000 --- a/www/docs/check_logs.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - check_logs - - - -


    -

    -NAME

    -check_logs - system log files client checks module -

    - -
    DESCRIPTION

    -The client check module checks system log files for one or more user specified -patterns. check_logs continually scans to the end of the log file. -Log file changes caused by log file rotations or initialization are handled -automatically. -

    For each line in a log file that matches a pattern an event is generated. -Each event has a duration,a color and a text field describing the match. -When check_logs finishes checks all of the log files, it then reports all -of the events that were generated back to the spong-server. The events -will reported back to the server every cycle until their duration has expired. -At which point they are removed from the list of event. -
      -

    -OUTPUT RETURNED

    -SUMMARY MESSAGE FIELD -
    If there are no events, it return "All logs ok". Otherwise is will -return a list of the logs that have generated events. -

    DETAILED MESSAGE FIELD -
    If there are pending event, the text field from of all the events are -returned. -
      -

    -CONFIGURATION

    - -
    $LOGCHECKS -
    A list of hashes which defined checks to apply to log files. Each hash -contains the fields logfile which is the full path to the log file -to check and checks whch  is a list of check to apply to the -log file. Each check is a hash that contains the fields: pattern -- a Perl regular expression to be scanned for, status - the status -color to reported lines matching pattern, duration - the duration that -each event is to be reported to the server, text - the text to reported -back in the detailed message field of the status report (which can include -match position variables from pattern) and id - an optional -key field to associated with each event generated -

    $LOGCHECKS = [ { -
                      -logfile => 'full/path/to/logfile', -
                      -checks  => [ {check-stanza}, {check-stanza} ], -
                   -}, -
                   -{ -
                      -logfile => 'full/path/to/logfile2', -
                      -checks  => [ {check-stanza}, {check-stanza} ], -
                   -}, -
    ]; -

    a check-stanza is: -

    { -
       pattern  => 'perl reg exp', -
       status   => 'status-color', -
       duration => xx, -
       text     => 'Error desc', -
       id       => 'optional-event-key', -
    } -

    where:

    -pattern - A perl regular expression top be scanned for. You can -include '( )' enclosed sections in your expression that will can access -by $1, $2, etc variables in the text field. -
    status - A status color 'green', 'yellow', or 'red'. -
    duration - The duration of a generated event in minutes. -
    text - the text that will appear in the status message. Perl -positional variables (i.e. $1, $2, etc.) can be used in the text field -which will be the matched text of the sections from the regular expression -defined in pattern. -
    id - An option event key that will be assigned to an event rather -than the default, the text field. you can use this field to collapse -multiple events into one event. -
      -

    -Example

    - -
    $LOGCHECKS = [ { 'logfile' => '/var/log/messages', -
                     -'checks'  => [ { pattern=>'(.*WARNING:.*)', -
                                      -status=> 'yellow', -
                                      -duration=>10, -
                                      -text=>'$1', -
                                    -}, -
                                    -{ pattern=>'(.*NOTICE:.*)', -
                                      -status=> 'red', -
                                      -duration=>'10', -
                                      -text=>'$1', -
                                    -}, -
                                    -{ pattern=>'(SCSI)|(scsi)', -
                                      -status =>'red', -
                                      -duration=>30, -
                                      -text    => 'scsi error', -
                                     -}, -
                                     -{ pattern=>'su: FAILED SU .to ([^\s]+). ([^\s]+)', -
                                       -status =>'yellow', -
                                       -duration=>30, -
                                       -text => 'su $ failed for $2', -
                                     -}, -
                                  -], -
                    -} -
    ]; -
      -

    FILES -

    -
    -/usr/local/etc/spong/spong.conf
    - -
    Configuration file. This contains variables that detail spong and OS -specific definitions used by spong-client. This file also contain variables -describing threshold levels. See spong.conf for additional documentation.
    -
    - -
    AUTHOR -

    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -
      -
     

    - - - diff --git a/www/docs/check_processes.html b/www/docs/check_processes.html deleted file mode 100755 index 3d62007..0000000 --- a/www/docs/check_processes.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - check_processes - - - -
    -

    -NAME

    -check_processes - running processes client check module -
    -
    -

    -DESCRIPTION

    -This is a client check that is run from the spong-client that checks to -ensure that critical processes are running on the client host system. check_processes -uses the output of the $PS command to check against @PROCSWARN -and @PROCSCRIT.  Any jobs not found in the @PROCSWARN -list of processes generates a warning - yellow. Any jobs not found in the -@PROCSCRIT -list of processes generates an alert - red. -
      -

    -OUTPUT RETURNED

    -SUMMARY MESSAGE FIELD -
    If no warning or alerts, check_processes returns "processes OK". Otherwise, -if are any warning or alerts, a list of the processes that are not running -is returned. -

    DETAILED MESSAGE FIELD -
    A $PS output line of every instance is returned for every running -process. -

    -CONFIGURATION

    -This is a list of configuration variable that are used by check_processes. -
    @PROCSWARN, @PROCSCRIT -
    A list of processes that should be running, if they are not running, -then trigger a problem (processes in @PROCSWARN trigger a warning -- yellow, and processes in @PROCSCRIT trigger an alert - red). -

    $PS -
    An OS specific contains the full path to the ps along with any parameters -need to get the desired formated output.

    -FILES -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-client. This file also contain variables describing -threshold levels. See spong.conf for additional documentation.
    -
    -AUTHOR -

    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -
      -
      - - diff --git a/www/docs/developer-guide.html b/www/docs/developer-guide.html deleted file mode 100755 index 49bf754..0000000 --- a/www/docs/developer-guide.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - developer-guide - - - -

    -NAME

    -developer-guide - developer's guild to Spong -
    -
    -

    -DESCRIPTION

    -This is the developer guild to Spong. The man page documents the inner -works of the client and server programs. It also describes the plugins -mechanism of the spong-client and -spong-network, so that new check -modules can be developed for this programs. -
      -

    -PROTOCOLS

    -This section deals with the low level communucation protocols that the -clients use to talk with the spong-server. -The spong and Big Brothers protocols almost identical. they vary only in -the data format. -

    SPONG PROTOCOL -
    The spong-server listens in on port 1998 for status updates -from clients. 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)
    -Where: -
    command - 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 status which inidicates a -service status update message. -
    host - The fully qualified domain name of the host the message -is for. -
    service - The name of the service that the update message is -for. -
    color - The status color of the service (green - ok, yellow -- warning, red - alert). -
    time - The date/time of the update message in epoch time format -(i.e. the number of seconds since 01/01/70, 00:00 AM) -
    summary - The status summary message field. -
    detailed status message - 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 reponses of network checks. -
      -

    BIG BROTHER PROTOCOL -
    The spong-server 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)
    -Where: -
    command - 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 status which inidicates a -service status update message. -
    host - The fully qualified domain name of the host the message -is for. -
    service - The name of the service that the update message is -for. -
    color - The status color of the service (green - ok, yellow -- warning, red - alert). -
    time - The date/time of the update message in standard date -format (i.e. Thu Jan  1 00:00:00 UTC 1970) -
    summary - The status summary message field. -
    detailed status message - 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 reponses of network checks. -
      -

    -MODULES

    -spong-client, spong-network, spong-message and spong-server use routines which are -modules. When the programs are initializating, 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 -themself with the plugins registery. The plugin registry is the mechanism -that the client programs keep track of the modules into order to run them. - -

    SERVER MODULESSpong-server 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. - -spong-server 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. The -spong-server update process is single threaded. Any excessive delays in -in return can cause pending updates to time out. - -Debugging messages and error messages can be printed by using the -&main::debug() and &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. - -

    CLIENT MODULES -

    Client modules define checks which are to be done on the host that the -spong-client program is running on. The module's check function is called -without any parameters. The client modules is expects to issue any systems -command and parse the output in order to determine the service status. -

    Any threshold variables needed for warning and alert level trigger need -to be defined and placed into the /usr/local/etc/spong.conf -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). -

    Once the service status and messages have been determined the module -can call the &main::status() function in order to send the -information back to the spong-server. -

    &status( SERVERADDR, HOST, SERVICE, COLOR, SUMMARY, MESSAGE )
    -The arguments to the &status() function are: - -NETWORK MODULES -

    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. -

    If an alert (red) status is generated, the module should retry the check -multiple times (3 is suggested). If the status is a warning (yellow), the -multiple retries of the check is optional. After the status condition has -been determined the check function should return three parameterers: -

    -The network modules have two support functions,&main::check_tcp() -and &main::check_simple(),  which can simplify simple TCP -port checks. -

    &main::check_tcp( host, port, data ) -

    The arguments to &main::check_tcp() are: -

    -The function &main::check_tcp() 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. -

    &main::check_simple( host, port, -send, check, service) -

    The arguments to &main::check_simple() are: -

    -The function &main::check_simple() is a generic TCP port checking -routine. This will go out connect to a given port  (using &main::check_tcp())and -check to make sure you get back expected results. The function returned -three parameters: - -MESSAGE MODULES -

    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 the contact's identification for the service that the function -sends messages to. The messaging function is expected to take care of all -of the data formatitng and communications logic to send a notification -message to the contact. -

    The messaging functions has access to the global variable in order format -a notification message: -

    -There are to support functions that be used to format a message and send -the message via e-mail: &main::email_status() and &main::email_mini_status().  -Both functions format e-mail message to be send to RECIPIENTS, but &email_mini_status() -sends out a shorter mail message which is more suitable for SMS and smaller -alpha pagers. -

    Both functions are called thusly: -

    &main::email_status( recipient, flags ) -
    &main::email_mini_status( recipient, flags ) -

    Where the arguments to the functions are: -

    -The only flag current defined is 'shortsubject'. This prevents $color, -$hostname, and $summary from being placed on the subject: line. -
      -

    -CREATING MODULES

    -Creating the actual modules is very trivia to do. Create your module by -following the appropriate template from below. -
    -
  • -spong-client module template
  • - -
  • -spong-network module template
  • - -
  • -spong-message module tempage
  • - -
  • -spong-server data module template -
  • - -
    -Then place your template module file into the appropirate directory below. - -Then test your modules by running the program with the --debug option to -if it is operating properly. - - diff --git a/www/docs/spong-2_0.html b/www/docs/spong-2_0.html deleted file mode 100755 index 672dd73..0000000 --- a/www/docs/spong-2_0.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - Simple System/Network Monitoring - spong v2.0 - - - -

    -Simple System/Network Monitoring - spong v2.0

    - -
    -

    -Description

    -This is a simple system monitoring package called spong. It has -the following features: - -This is hopefully a *simple* 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 todo list). -

     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: -
      -
      -

    -Spong is currently at version 2.6. If you are using an older version and -want to see what's new in version 2.6, please -look at the bottom on this page. -
      -
      -

    -Availability

    -Perl is require to run spong. If you don't have Perl installed you can -retrieve it from the CPAN (http://www.perl.com/CPAN/) -archive, 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: -
      -
      - -You can retrieve the latest version of spong from my machine at: -
      -
      - -This distribution contain the spong source, documentation, and gif images. -

    -Notification

    -I have sent up a mailing list that is for spong discussion, help and annoucements. -The mailing list open to anyone. I am on the list and I endevour to answer -all questions submitted to the list. -

     To join the spong mailing list, send a message to spong-request@monsters.org -with the sentence: -
      -

    -in the body of the message. To have yourself removed from the spong-announce -mailing list, send a message to spong-request@monsters.org -with the sentence unsubscribe in the body of the message. -

     You can also visit the Spong -mailing list web page to subscribe or view the mailing list archives. -
      -

    -Dependencies

    -Perl v5.004 or greater is all that is required to set up spong. 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. -

     These scripts should run on any Unix system (and to ``some'' degree -any environment where Perl is available). -

    -Documentation

    -Don't let the amount of documentation scare you, I still think spong is -simple to setup and use. -

     The documentation is provided in HTML format (the old Perl pod -format just didn't do all that I wanted). It is located in the docs directory -and is self contained (the links will still work if you move it), so you -should be able to copy it to whatever location that you want. -

     There are four main documents that describe spong from different -perspectives. -

    -
    -FAQ
    - -
    -Frequently Asked Questions by users and their answers.
    - -
      -

      -
      -
      -

    -User's Guide
    - -
    -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.
    - -
      -

      -
      -
      -
      -
      -

    -Administrator's Guide
    - -
    -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 spong can do that you might -not have thought of.
    - -
      -

      -
      -
      -
      -
      -

    -Developer's Guide
    - -
    -Written for the person who wants to have spong look differently, or what -to add some new feature in their version of spong, or whats to incorporate -spong output in other programs. This details the spong internals, and describes -the various protocols that are used.
    - -
      -

      -
      -
      -
      -
     

    -There are also specific "man" 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. -

     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. -
      -
      -

    -Files

    -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. -
      -
      -
        config:
    -
    -      spong.conf              distributed config file
    -
    -      spong.conf.&ltos>         os specific config changes
    -
    -      spong.hosts             host/service config file
    -
    -      spong.groups            group config file
    -
    - 
    -
    -    src:
    -
    -      spong.pl                text based spong display client
    -
    -      spong-client.pl         collects/reports cpu,disk,etc info
    -
    -      spong-network.pl        collects/reports network service info
    -
    -      spong-server.pl         listens for/saves spong status updates
    -
    -      spong-message.pl        alerts humans there's a problem
    -
    -      spong-ack.pl            text based acknowledgement program
    -
    -      www-spong.pl            web based spong display client
    -
    -      www-spong-ack.pl        web based acknowledgement program
    - -
    -
    -    www:
    - -
          docs:
    -
    -      <*>.html                documentation for the above files 
    -
    -      gifs:                   various icons used by spong-display
    -
    -
    -
    -
    - -

    -Licensing

    -Copyright 1999, Stephen Johnson -

     Like Perl, spong 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 sjohnson@monsters.org, -and I will mail you a copy. -

    -

    -Changes

    -The list of changes can be found at: -
    http://monsters.org/pub/spong/CHANGES
    -You can see a list of features that I hope to add to spong at: - - -

    -History

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Version 2.6Notification 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.
    Version 2.5 First releae 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 routnie which tracks last position read. -Enhanced network checks to eliminate momentary network problems.
    Version 2.0 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. 
    Version 1.1 Primarily a bug fix release with a few minor -features (dns,http config,multiple interfaces) added. 
    Version 1.0 Initial public release, mostly based on Big Brother -package from Sean MacGuire. 
    - -

    -Acknowledgments

    -Many ideas (and some code) came from two similar packages. We have used -a program call "Pong" 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 "spong") is an obvious rip off... -

    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.). -

    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. -

    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. -

    The about acknowledgements are from Ed Hill. 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.  -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. -
      -
      -

    -Known Problems in v2.6

    -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. -
      -
      - - -

    -Author

    -Ported  by: -

    Ed Hill (ed-hill@uiowa.edu) -
    Internet Software Developer at The -University of Iowa -

    Currently maintained by: -
    Stephen L Johnson (sjohnson@monsters.org) -

    Please feel free to send me bug reports, patches, suggestions, or comments. -

    -


    Most recently updated on Dec 15, 1997 by Stephen -L Johnson (sjohnson@monsters.org) - - diff --git a/www/docs/spong-client-mod-template.html b/www/docs/spong-client-mod-template.html deleted file mode 100755 index 83aeb2e..0000000 --- a/www/docs/spong-client-mod-template.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - Spong Client Module Template - - - -

    -spong-client Module Template

    - -
    -
    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 should always be 'check_' and the registry name (e.g. for the -foo check, the registry name is 'foo' and the file name is 'check_foo'. -

    The line that has the assignment to $CHECKFUNC{'registry-name'} is the -key to the registry mechanism. It's what track the registry name to the -your check function. -

    The registry name does not always have to match up to the service name -as in this case of '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 regiestry name 'my_mailq', but you would use the service -name 'mailq' in the &status() function when reporting you -info back to the server. -

    check_mailq: -

    # Register my routine with plugin registry -
    $CHECKFUNCS{'mailq'} = \&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,"$MAILQ |"); -
        $mqcnt = 0; -
        while (<FOO>) { -
            if (/Mail Queue\s+\((\d+)/) -{ $mqcnt = $1; } -

            # Grab enough to get -the first 10 entries. -
            if (++$lines <= 35) -{ $message .= $_ }; -
        } -
        close FOO; -

        $color = "green"; -
        if ($mqcnt > $MAILQWARN) { $color = "yellow"; -} -
        if ($mqcnt > $MAILQCRIT) { $color = "red"; } -

        $summary = "Mail Queue count = $mqcnt"; -

        &debug("mailq - $color, $summary"); -
        &status( $SPONGSERVER, $HOST, "mailq", $color, -$summary, $message ); -
    } -

    # I'm include perl code, I need this line. -
    1; -

    Please note the final line. It is always required for a module file. -
      -
      - - diff --git a/www/docs/spong-client.html b/www/docs/spong-client.html deleted file mode 100755 index 3cb6e0f..0000000 --- a/www/docs/spong-client.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - spong-client - - -Name -

    spong-client - report system information to spong server. -

    SYNOPSIS -

    spong-client [--debug] [--kill|--restart|--nosleep|--refresh] -[config_file] -

    DESCRIPTION -

    This program is run on each Unix (and NT) 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 syncing -up and overloading the spong-server). -

    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. -

    It sends a message for each check to the spong server and reports the -following: -

    -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. -

    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). -

    The more detailed message contains information such as the complete -df output, or a listing of the top 10 processes sorted by CPU. -

    You should start this program in your system startup file, and it should -be running constantly. If you provide the --debug flag, then debugging -information will be printed to stdout, otherwise output will only be produced -if there is a problem. -

    If you provide the --restart flag, a signal will be sent to the spong-client -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-client process causing it to exit. The --nosleep or --refresh flags -causs the program to cycle through all of the checks one and hen exit. -These flags can be used to run spong-client as a cron job (depreciated, -this reduced the effectivemess of the check_logs module, see: Client -Modules). -

    CONFIGURATION -

    By default this reads the /usr/local/etc/spong/spong.conf -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. -

    After reading the configuration file that you specify (or the default), -it then reads the /usr/local/etc/spong/spong.conf.[host] file where -[host] is the hostname of the machine that you are running on. Since these -configuration files are just standard perl code that gets imported, the -variables that you define in the host specific config file will take precedence -over the standard configuration settings. -

    Here is a listing of the configuration variables applicable to the spong-client -program. -

    $SPONGSLEEP, $SPONGSERVER, $SPONGPORT -
    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. -

    $CHECKS -
    A string that has the list of client check modules to run. If $CHECK -is missed or blank, spong-client defaults to "disk cpu processes logs". -If the &check_local() function is present then 'local' -is appened. -
      -

    $CPUWARN, $CPUCRIT -
    A number indicating the CPU load that triggers a problem ($CPUWARN -triggers warnings - yellow, and $CPUCRIT triggers alerts - red). -

    @PROCSWARN, @PROCSCRIT -
    A list of processes that should be running, if they are not running, -then trigger a problem (processes in @PROCSWARN trigger a warning -- yellow, and processes in @PROCSCRIT trigger an alert - red). -

    $LOGCHECKS -
    A list of hashes which defined checks to apply to log files. Each hash -contains the fields logfile which is the full path to the log file -to check and checks whch  is a list of check to apply to the -log file. Each check is a hash that contains the fields: pattern -- a Perl regular expression to be scanned for, status - the status -color to reported lines matching pattern, duration - the duration that -each event is to be reported to the server, text - the text to reported -back in the detailed message field of the status report (which can include -match position variables from pattern) and id - an optional -key field to associated with each event generated. -

    $DF, $UPTIME, $PS, $GREP -
    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. -
     

    -CLIENT CHECKS -

     The checks are -actually a set of modules that are called in series by spong-client. The -list of modules to run are defined in the $CHECKS configuration -variable. Upon initialization, spong-client will load the modules -defined in $CHECKS from the "LIBDIR/Spong/Client/plugins/" -directory. As each modules is initialized, it registers itself with the -the plugins registery (see the Developer -Guide). Spong comes with a standard set of clients check_disk, -check_cpu, -check_processes -and check_logs (see Client Modules -for details.) -

    EXTENDING -FUNCTIONALITY -

    Depreciated, please refer to the Client -Modules section of the developer guide. -

    If you want to check some service which is not being checked by spong-client, -then you can define a &check_local() function in your -config file (either in your standard config file or your host specific -file - but not both!). That function can do anything you want, but at the -end needs to call the &status() function to report -what you have found to the spong server. -

        &status( SERVERADDR, HOST, SERVICE, COLOR, SUMMARY, MESSAGE )
    -The arguments to the &status() function are: -
       * SERVERADDR - Should be $SPONGSERVER
    -   * HOST       - The full hostname of the machine you are on
    -   * SERVICE    - Should be the string local.
    -   * COLOR      - Either "red", "yellow", or "green"
    -   * SUMMARY    - A short one line summary of the status
    -   * MESSAGE    - More detailed information (can be multi-lined)
    -Here is an example &check_local() function that we -run on some of our machines to check to make sure that our sendmail mail -queue is not getting too large. -
    sub check_local {
    -   my $color   = "green";
    -   my $summary = "";
    -   my $rt       = `mailq | head -1`;
    -
    -   chomp $rt;
    -   if( $rt =~ /\((\d+) request/ ) {
    -      $items = $1
    -      if( $items > 1000 ) {
    -         $color = "red";
    -      } elsif( $items > 500 ) {
    -         $color = "yellow";
    -      }
    -
    -      $summary = "$items messages in the mail queue";
    -   } else {
    -      $color = "yellow";
    -      $summary = "Can't parse mailq output: $rt";
    -   }
    -
    -   &status( $SPONGDISPLAY, $HOST, "local", $color, $summary, "" );
    -}
    -FILES -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-client. This file also contain variables describing -threshold levels. See spong.conf for additional documentation.
    -
    -DEPENDENCIES -

    Perl v5.003 or greater is required. -

    BUGS -

    None know bugs. -

    SEE ALSO -

    the spong-server manpage , spong.conf, client-modules, develper-guild -

    AUTHOR -

    Ed Hill (ed-hill@uiowa.edu), -Unix System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong-message-mod-template.html b/www/docs/spong-message-mod-template.html deleted file mode 100755 index d5d6674..0000000 --- a/www/docs/spong-message-mod-template.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - spong-message Module Template - - - -

    -spong-message Module Template

    - -
    -
    This template assumes that you are creating a messaging function called -'teletouch_short'. The name of the file created should be 'msg_teletouch_short'. -The file name should always be 'msg_' and the registry name (e.g. for the -foo messaging function, the registry name is 'foo' and the file name is -'msg_foo'. -

    The line that has the assignment to $MSGFUNCS{'registry-name'} is the -key to the registry mechanism. It's what track the registry name to the -your check function. -
      -

    # Message function for Teletouch pagers using e-mail delivery -
    # but using the e-mail mini status function instead. This is a -

    $MSGFUNCS{'teletouch_short'} = \&msg_teletouch_short; -

    sub msg_teletouch_short { -
       my ($pager) = @_; -

       &email_mini_status("$pager\@pageme.teletouch.com",'shortsubject'); -
       &debug( "teletouch short page sent to $pager" -); -
    } -

    # Required because I'm included perl code -
    1; -

    Please note the final line. It is always required for a module file. -
      -
      -
      - - diff --git a/www/docs/spong-message.html b/www/docs/spong-message.html deleted file mode 100755 index 84c9425..0000000 --- a/www/docs/spong-message.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - spong-message - - - -


    -

    -NAME

    -spong-message - alert the humans when there is a problem -

    -


    -

    -SYNOPSIS

    -spong-message [--debug] color host service time message [duration] -

    -


    -

    -DESCRIPTION

    -spong-message is run when there is a problem reported to spong. The following -arguments must be given to spong-message. -
        * color           color of the message (red, yellow, green)
    -
    -    * host            host having a problem
    -
    -    * service         service having a problem
    -
    -    * time            time (in time() format) of the problem
    -
    -    * message         summary of the problem
    -The following parameters are optional. -
        * duration        duration of the event in seconds. Default to zero.
    -When spong-message is called, the information passed in is run through -a list of rules which determine who is contacted, when they are contactd -and how often.  the information is also run through a number of checks -to determine if the message should be sent. It maintains a little database -in the spong tmp directory so that it can keep track of 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). -

    If you are going to be performing maintainence on a machine, or have -standard down time for a machine, you can specify that down time in the -spong.hosts file. If a problem is reported during the time indicated, spong-message -will not send messages.  spong-message also checks for acknowledgements -created for a machine. If an active acknowledgement for a machine and service, -no messages will be sent. -

    spong-message using the humans defined in the contact attributes of -the messaging rules of spong.mesaage and spong.hosts to determed who is -to be contacted. A of contacts is generated from all of the message rules -that are matched. The format of thse files is described briefly below, -and in more detail in spong.message and spong.hosts. -

    Currently, spong-message knows how to alert people via the messaging -function modules that are installed. More messaging functions can be created. -See Message Modules -in the Developer Guide. -

    -


    -

    -CONFIGURATION

    -The most important information (to spong-message anyway) comes from the -/usr/local/etc/spong/spong.hosts -file. This file defines attributes for two things, 1) the hosts that spong -is monitoring, and 2) the humans that are responsible for the various hosts. -and how to contact them. -

    Each host has one ``human'' contact (actually the contact can be a group -of people, or really anything you want). Each human has the following attributes: -

    Each human that is defined should have the following attributes associated -with it: -

        * name          name of the person to contact
    -And one or more of the following attributes assigned to each human for -messaging when there are problems -
      -
        * email             email address
    -
    -    * skytel            skytel pager number
    -
    -    * alltelsms         phone number of a phone subscribered to Alltel Communications SMS service.
    -
    -    * teletouch         teletouch pager number
    -
    -    * teletouch_short   teletouch pages numer for small alpha pagers
    -The messaging attributes are optional, but at least one must be provided -in order to the spong-message program to contact the person. The format -of the spong.hosts file is described in more detail in spong.hosts. -

    Each host also has attributes which are of interest to spong-message. -Each host can have the following attribute: -

        * down      a list of times the machine is down for repairs.
    -If the spong-message gets told to send a message during this downtime the -message will be ignored. This prevents you from being flooded with messages -during routine system maintenence. -

    The spong.message hold the rules that determine who is to be -contacted, when and how often. -

    Each rule should have more of more of the following matching criteria -attributes: -

        * hosts              a list of hosts to match
    -
    -
        * host_groups             a list of host groups to match
    -
    -    * services           a list of services to match
    -
    -    * exclude_hosts      a list of hosts to exclude
    -
    -    * exclude_host_groups      a list of hosts groups to exclude
    -
    -    * exclude_services   a list of services to exclude
    -
    -    * times              a list of days/times to match
    -And each rule must have the following attributes: -
        * contacts           a list of contacts to notify
    -The rule alow you to be quite flexible is how your notifications are created. -The format if the spong.message if described in more detail in spong.message. -
      -

    The /usr/local/etc/spong/spong.conf -file is also read on startup. This file contains some variables specific -to spong-message, and some OS specific variables that are required by spong-message. -Here are the variables applicable to the spong-message program. -

    -
    -$SEND_MESSAGE
    - -
    -$SEND_MESSAGE -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 ``RED'', -then spong-message is called for every time a system or service -reports a problem. If its value is ``CHANGE'', then spong-message -is only called when there is a change of state . If this values is "RED-CHANGE", -then spong-message is called  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 spong-message is never called.
    - -
    -$MESSAGE_PER_HOUR
    - -
    -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.
    - -
    -$IDENT_MESSAGES_PER_HOUR
    - -
    -This is the maximum number of identical messages that are sent to the same -person in an hour. The default value is 3.
    - -
    -$SENDMAIL
    - -
    -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.
    -
    - -
    -

    -EXAMPLES

    -Here are some lexamples to show you possible configurations. -
     %HUMANS = (
    -
    -  'unix-staff' =>    { name  => 'Midrange On-call Staff',
    -
    -                       email => 'its-unix@school.edu' },
    -                      
    -
    -  'edhill' =>        { name  => 'Ed Hill',
    -
    -                       email => 'ed-hill@school.edu',
    -
    -                       skytel => '1234567' },
    -
    - );
    -
    - %HOSTS = (
    -
    -  'strobe.weeg.school.edu' =>    { services => 'ftp smtp http',
    -
    -                                   down     => [ "*:05:30-06:30",
    -
    -                                                "0:00:00-04:00 ] },
    -
    -  'www.school.edu' =>            { services => 'ftp smtp http',  },
    -
    - );
    -
    -
    -From spong.message:
    - -
      $RULES_MATCH = 'FIRST-MATCH';
    - -
      $MESSAGING_RULES = [
    - -
          { hosts => [ 'strobe.weeg.school.edu' ],
    - -
            contacts => [ 'unix-staff'],
    - -
           },
    - -
           { hosts => ['www.school.edu'],
    - -
             contacts => [ 'edhill:email', { rcpt=>'edhill:pager', repeat=>900, }, ],
    - -
           },
    - -
      ];
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-display. See spong.conf -for additional documentation.
    - -
    -/usr/local/etc/spong/spong.hosts
    - -
    -Host and human configuration file. This defines what hosts you are monitoring, -and what human you should contact if there is a problem. See spong.hosts -for additional documentation.
    - -
    -
    - -
    -$SPOMGTMP/message-db
    - -
    -Database where information about who has been paged, when, how, and what -the problem was is kept.
    - -
      -
    -/usr/local/etc/spong/spong.message
    - -
    -Configuration file. This defined the rules on who is to be notified about -where, hen and how often. See spong.message -for additional documentation.
    -
    - -
    -

    -DEPENDENCIES

    -Perl v5.003 or greater is required. -

    To receive pages, you currently must have a pager that can be contacted -electronically (via email or web interface). -

    -


    -

    -BUGS

    -This program currently will only notify via email, so if your pager does -not have an email (or TCP accessible) interface - this currently won't -work (well won't page) for you. -

    The $MESSAGES_PER_HOUR check does not always work correctly. -The syntax of the contact attribute in spong.message  -has changed. The check logic will have to be enhance to be able to check -for mulitple forms of the contact. -
    -


    -

    -SEE ALSO

    -the spong-server manpage , spong.hosts, spong.conf, spong.message -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -
      -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong-network-mod-template.html b/www/docs/spong-network-mod-template.html deleted file mode 100755 index 649dd12..0000000 --- a/www/docs/spong-network-mod-template.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - spong-network Module Template - - - -

    -spong-network Module Template

    - -
    -
    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_' and the registry name (e.g. for the foo check, -the registry name is 'foo' and the file name is 'check_foo'. -

    The line that has the assignment to $PLUGINS{'registry-name'} is the -key to the registry mechanism. It's what track the registry name to the -your check function. -

    The registry name does not always have to match up to the service name -as in this case of '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 &status() function when reporting you info -back to the server. -

    # Register the routine with the plugin registry -
    $PLUGINS{'dns'} = \&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 "require Net::DNS;"; -
    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 ) = ( "green", "", -"" ); -
      -
       if( ! $dns ) { -
          $summary = "can't do DNS lookups, -Net::DNS not installed"; -
          &debug( "dns - $host - $color, -$summary" ); -
          return ( "yellow", $summary, -
                   -"In order to do DNS queries you must install the Net::DNS " . -
                   -"Perl module.\nYou can find the module at your nearest CPAN " . -
                   -"archive or http://www.perl.com/CPAN/\n" ); -
       } -
      -
       my $resolver = new Net::DNS::Resolver; -
       $resolver->nameservers( $host ); -
       $resolver->retrans(2); -
       $resolver->retry(1); -
       $resolver->recurse(0); -
       my $q = $resolver->search( $host, "A" ); -
      -
       if( defined $q && defined $q->answer && -defined (($q->answer)[0]) ) { -
          $color = "green"; -
          $summary = "dns ok"; -
       } else { -
          $color = "red"; -
          $summary = "can't resolve $host"; -
          $message = "can't resolve $host\n"; -
       } -
      -
       &debug( "dns - $host - $color, $summary" ); -
       return( $color, $summary, $message ); -
    } -

    # I;m included perl code, I need this line. -
    1; -

    Please note the final line. It is always required for a module file. -
      -
      - - diff --git a/www/docs/spong-network.html b/www/docs/spong-network.html deleted file mode 100755 index ce13b76..0000000 --- a/www/docs/spong-network.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - spong-network - - - -


    -

    -NAME

    -spong-network - report network service information to spong server. -

    -


    -

    -SYNOPSIS

    -spong-network [--debug] [--kill|--restart|--nosleep|--refresh] [config_file] -

    -


    -

    -DESCRIPTION

    -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). -

    Besides checking connectivity (first using tcp echo, and then ICMP ping -if that fails), the following TCP/UDP based services can be checked. -

    -    * 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)
    -
    -
    -
    -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 http://www.perl.com/CPAN/. -

    For each of these network services, the following information is reported -to the spong server. -

    -   * 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.
    -
    -
    -
    -
    -
    -
    -
    -
    -These checks are modular in nature.New checks can be added or old checks -replaced with newer versions. See Client -Modules in the Developers Guide. -

    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. -

    The spong-network program can also check multiple interfaces on a given -host. See spong.hosts for instructions -on how to set this up in your spong.hosts file. -

    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. -

    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. -

    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. -

    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 -
    and then exit. These flags can be used to run spong-network -from cron. -
      -

    -


    -

    -CONFIGURATION

    -The configuration of the spong-network program is two fold, the first part -is the /usr/local/etc/spong/spong.hosts -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 spong.hosts for additional -information. -

    The second part of the configuration is the /usr/local/etc/spong/spong.conf -file which defines some specific variables that you probably don't need -to override. By default the /usr/local/etc/spong/spong.conf -file is read on startup. You can specify an alternate config file via a -command line option and it will read that file instead. If you change values -in the configuration file you will need to restart this program for those -changes to be re-read. -

    After reading the configuration file that you specify (or the default), -it then reads the /usr/local/etc/spong/spong.conf.[host] file where -[host] is the hostname of the machine that you are running on. Since these -configuration files are just standard perl code that gets imported, the -variables that you define in the host specific config file will take precedence -over the standard configuration settings. -

    Here are a list of variables in the spong.conf file that are applicable -to the spong-network program: -

    -
    -$SPONGSLEEP, $SPONGSERVER, $SPONGPORT
    - -
    - 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.
    - -
    -%HTTPDOCS, %HTTPPORT
    - -
    - These variables provide some parameters when checking http based -servers. The %HTTPDOCS 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.
    - -
      -
    The %HTTPPORT 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. -
     
    - -
    -$PING, $TRACEROUTE, $GREP
    - -
    - 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.
    - -
     
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-network. See spong.conf for additional -documentation.
    - -
    -/usr/local/etc/spong/spong.hosts
    - -
    -Host and human configuration file. This defines what hosts you are monitoring, -and what human you should contact if there is a problem. See spong.hosts -for additional documentation.
    - -
      -

      -
      -
     

    - -
    -

    -DEPENDENCIES

    -Perl v5.003 or greater is required. -

    -


    -

    -BUGS

    -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. -

    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... -

    The http check is not configurable enough. -

    -


    -

    -SEE ALSO

    -the spong-server manpage , spong.hosts, spong.conf -

    -


    -

    -AUTHORS

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us -or sjohnson@monsters.org) , -Unix Systems Administrator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong-server-mod-template.html b/www/docs/spong-server-mod-template.html deleted file mode 100755 index 5f83ab2..0000000 --- a/www/docs/spong-server-mod-template.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - spong-server Data Module Template - - - -

    -spong-server Data Module Template

    - -
    -
    This template will be a simple example that will write incoming 'cpu' -status updates into a queueing directory. Each file will have the -host's name plus the current time are it's file name. - -The file name of the module must begin with 'data_'. The registry key can -be anything, but it should be consistent with the procedure's name. And the -registry must be unique among the other loaded modules; otherwise, one -module will overylay the other. - -

    The line that has the assignment to $DATAFUNCS{'registry-name'} is the -key to the registry mechanism. It's what used to track the registry name to the -your data module. - -

    -# Register the routine with the plugin registry
    -$DATAFUNCS{'cpu_queue'} = \&data_cpu_queue;
    -
    -$CPU_QUEUE_DIR = "/var/spool/spong-queue";  # The spooling directory
    -
    -sub data_cpu_queue {
    -   my( $host, $service, $color, $start, $time, $sum, $message ) = @_;
    -
    -   if ( $service ne 'cpu' )  { return; }
    -
    -   my( $file ) = "$CPU_QUEUE_DIR/$host-" . time();
    -
    -   open(FH,"> $file") or
    -      die("plugin::data_cpu_queue: Could not open file $file: $!");
    -
    -   print FH "hostname: $host\n";
    -   print FH "color: $color\n";
    -   print FH "start-time: $start\n";
    -   print FH "last-update: $time\n";
    -   print FH "summary: $sum\n";
    -   print FH "message:\n$message\n";
    -
    -   close FH;
    -}
    -
    -# I'm included perl code, I need this line.
    -1;
    -
    - -

    Please note the final line. It is always required for a module file. - - diff --git a/www/docs/spong-server.html b/www/docs/spong-server.html deleted file mode 100755 index 0f3ee1b..0000000 --- a/www/docs/spong-server.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - spong-server - - - -


    -

    -NAME

    -spong-server - save status information reported by spong programs -

    -


    -

    -SYNOPSIS

    -spong-server [--debug] [--kill|--restart] [config_file] -

    -


    -

    -DESCRIPTION

    -The spong-server program starts up and listens to status reports from various -spong clients (specifically the spong-network and various spong-client -programs running). It takes the information reported by the various spong -clients and does the following: -
    -    * Check for valid messages, and discards any invalid ones.
    -
    -    * If the message is something worth notifying someone about, it calls
    -
    -      the spong-message program and lets it determine how/if to contact 
    -
    -      someone about the problem.
    -
    -    * Check to see if the color of this message is different then it
    -
    -      used to be, and if so generate a history item indicating the change.
    -
    -    * Save the information in the $SPONGSTATUS directory.
    -
    -
    -
    -
    -
    -
    -Each time a message comes in, a child process is forked off to handle the -above tasks, while the main spong-server program goes back to waiting for -more status reports. -

    You should start this program in your system startup file, and it should -be running constantly. If you provide the --debug flag, then debugging -information will be printed to stdout, otherwise output will only be produced -if there is a problem. -

    If you provide the --restart flag, a signal will be sent to the spong-server -process that is currently running that will cause it to reload it's configuration -files. If you provide the --kill flag, a signal will be sent to the running -spong-server process causing it to exit. -

    -


    - -CONFIGURATION -The configuration of the spong-server program is two fold, the first part -is the /usr/local/etc/spong/spong.hosts -file. This file lists the host that are being monitored by the spong-network -and spong-client programs. Only status information on hosts in the spong.hosts -file are considered valid and saved. -

    The second part of the configuration is the /usr/local/etc/spong/spong.conf -file which define some specific variables that you probably don't need -to override. By default the spong.conf file is read on startup. You can -specify an alternate config file via a command line option and it will -read that file instead. If you change values in the configuration file -you will need to restart this program for those changes to be re-read. -

    After reading the configuration file that you specify (or the default), -it then reads the /usr/local/etc/spong/spong.conf.[host] file where -[host] is the hostname of the machine that you are running on. Since these -configuration files are just standard perl code that gets imported, the -variables that you define in the host specific config file will take precedence -over the standard configuration settings. -

    Here are a list of variables in the spong.conf file that are applicable -to the spong-server program: -

    -
    -$SEND_MESSAGE
    - -
    -$SEND_MESSAGE -defines when spong-message is called by spong-server. This variable can -contain one of three valid values. If it is ``RED'', then spong-message -is called for every time a system or service reports a problem. If its -value is ``CHANGE'', then spong-message is only called when there is a -change of state (going from green to red, and then again going from red -to -green). If its value is ``NONE'', then spong-message is never called.
    - -
    -$SPONGPORT, $SPONGSTATUS, $SPONGHISTORY, $SPONGNOTES
    - -
    - The port number that the server should be listening at, and some -directory locations where status information, history information, and -host specific documentation are kept.
    - -
    -
    -

    -DATA MODULES

    -spong-server has a plugin and registry mechanism what provides a -hook for access incoming status updates. Any data plugin modules placed -into the SPONGHOME/lib/Spong/plugins directory will be loaded upon -spong-server initialization. As each module it registers itself -with the plugin registry (see the Developer -Guide). There are no standard Server Data Modules. There are some sample -modules in the contrib/plugins/spong-server directory of the Spong -distribution. For more information in developing a Server Data Modules -see the  spong-server -module template documenation.
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-server. See spong.conf for additional -documentation.
    - -
    -/usr/local/etc/spong/spong.hosts
    - -
    -Host and human configuration file. This defines what hosts you are monitoring, -and what human you should contact if there is a problem. See spong.hosts -for additional documentation.
    - -
    -/local/www/docs/spong/status/
    - -
    -The directory where status information is saved. The files in this directory -should be readable by your web server as spong-display using this information -to generate the web pages that it displays.
    - -
    -/local/www/docs/spong/history/
    - -
    -The directory where history information is stored. The files in this directory -should also be readable by your web server.
    - -
    -/local/www/docs/spong/notes/
    - -
    -The directory where host specific information is stored. For each host -that you monitor, if there is a file in this directory with the same name -as that host then that file will be displayed by spong-display when the -user clicks on a specific host.
    - -
      -

     

    - -
    -

    -DEPENDENCIES

    -Perl v5.003 or greater is required. -

    -


    -

    -BUGS

    -It is not sufficiently paranoid. It should probably perform more strict -authentication to protect against bogus data. -

    -


    -

    -SEE ALSO

    -the spong-network manpage , the spong-client manpage , the -spong-display manpage , the spong-message manpage , spong.hosts, -spong.conf -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong.html b/www/docs/spong.html deleted file mode 100755 index 9285ccf..0000000 --- a/www/docs/spong.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - spong-server - - - -


    -

    -NAME

    -spong - display spong system status from the command line -
    -

    -SYNOPSIS

    -spong [--summary [hostlist] | --problems [hostlist] | --history -[hostlist] | --host host | --services host | --stats host -
                               -| --config host | --info host | --service host:service ] [--brief | --standard -| --full ] -

    -


    -

    -DESCRIPTION

    -The spong program interfaces with the spong-server to display the collected -information  in text format. The spong program does not have all of -the functionality of the web-based interface. It's designed to be used -from character based consoles. The spong program doesn 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 spong-servr when -alert of received. -

    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. -

    -Options

    - -
    ---summary  [hostlist]
    - -
    - 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 ledgend at the top of the display. If hostlist -if not specified all hosts defined in spong.hosts are displayed.
    - -
    ---problems  [hostlist]
    - -
    -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.
    - -
    ---history  [hostlist]
    - -
    -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.
    - -
      -

      -
      -
      -

    ---host  host
    - -
    -Shows all information availiable for the given host.
    - -
    ---services host
    - -
    -Shows detailed service information for the given host.
    - -
    ---stats host
    - -
    -Show statistical information for the given host.
    - -
    ---config host
    - -
    -Shows configuration intomation for the given host.
    - -
    ---info host
    - -
    -Shows admin supplied text for the given host.
    - -
      -

      -
      -
      -

    ---service host:service
    - -
    -Shows detailed information for the given host/service. The
    - -
      -

      -

    --brief -

    -Display output in a brief format
    - -
    ---standard
    - -
    -Display output in standard format (the default)
    - -
    ---full
    - -
    -Display the maximum amount of information possible.
    - -
      -

      -

    -


    -

    -CONFIGURATION

    -By default, spong reads the /usr/local/etc/spong/spong.conf -file which define some specific variables that you probably don't need -to override. -

    By default the  /usr/local/etc/spong/spong.conf   -file is read on startup. It defines some specific variable that you probably -don't need to override. -

    After reading the configuration fil,  it then reads the /usr/local/etc/spong/spong.conf.[host] -file where [host] is the hostname of the machine that you are running on. -Since these configuration files are just standard perl code that gets imported, -the variables that you define in the host specific config file will take -precedence over the standard configuration settings. -

    Here are a list of variables in the spong.conf file that are applicable -to the spong-server program: -
      -
    -$SPONGSERVER
    - -
    -The make of the server that spong-server is running on.
    - -
      -
    -$SPONG_QUERY_PORT
    - -
    -The port numbr that spong-server listens at for database queries.
    -
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-server. See spong.conf for additional -documentation.
    -
    - -
    -

    -DEPENDENCIES

    -Perl v5.003 or greater is required. -

    -


    -

    -BUGS

    -The --stats, --config, and --info parameters are currently -not implemented in the spong-server. When specified they will just generate -a blank HTML page.. -
    -
    -

    -SEE ALSO

    spong.hosts, spong.conf -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong_conf.html b/www/docs/spong_conf.html deleted file mode 100755 index 2577a59..0000000 --- a/www/docs/spong_conf.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - spong.conf - - - -


    -

    -NAME

    -spong.conf - provides configuration information to spong programs. -

    -


    -

    -DESCRIPTION

    -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.<hostname> file) -gets imported by each of the spong programs. It sets variables representing -the following information: -
        * Standard package information (servername, port number, file locations)
    -
    -
    -    * Service thresholds (how much load is ok, disk space, etc.)
    -
    -
    -    * OS specific variables (what df command/options should I use, etc.)
    -Depreciated: The spong.conf file can also contain a &check_local() -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 spong-client manpage for -more details. -

    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-). -

    -


    -

    -STANDARD VARIABLES

    - -
    -
    -$SPONGSLEEP
    - -
    -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* $SPONGSLEEP , it considers that data to -be ``old'', and sets the color of that service to purple.
    - -
      -
    -$SPONGSERVER
    - -
    -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.
    - -
      -
    -$SPONGPORT
    - -
    -The port that the spong-server is listening at.
    - -
      -
    -$SPONGTMP
    - -
    -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.
    - -
      -
    -$SPONGDB
    - -
    -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.)
    - -
      -
    -$SPONG_UPDATE_PORT
    - -
    -The port that the spong-server listens at for status updates from clients.
    - -
    -$SPONG_QUERY_PORT
    - -
    -The port that the spong-server listens at for database queries. This is -the port that the CGI and command line interface programs use.
    - -
    -$SPONG_BB_UPDATE_PORT
    - -
    -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,
    - -
    -$WWW_USE_IMAGES
    - -
    -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.
    - -
    -$WWWGIFS
    - -
    -This is the path portion of the URL to where the graphics dot images reside.
    - -
    -%WWW_COLOR
    - -
    -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".
    - -
    -$WWWHTML
    - -
    -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 build  -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 Administrators -Guide).
    - -
    -$WWWSPONG
    - -
    -The full URL to access the www-spong -CGI program. This URL is used by www-spong -while generate web pages to provide links to move deeper web pages.
    - -
    -$WWWACK
    - -
    -The full URL to access the www-spong-ack -CGI program. This URL is used by www-spong -to generate links which allow Spong Acknowledgements to be generated.
    - -
    -$WWWCONTACT
    - -
    -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 Administrator -Guide.
    - -
    $WWW_ACTIONBAR_CUSTOM - -
    -This parameter can be used to customize the Host/Service displays Action Bar -of the Web Interface. Any HTML code in this parameter will be included on -the Web Pages when they are displayed. This parameter is preprocessed by -eval'ed before the contents is printed. Your can include complex -perl variables and simple Perl code in this parameter. NOTE: Use single -quoted to enclose the parameter contents to prevent premature expansion of -any perl variables defined. -
    - -
    -@WWW_REFRESH_ALLOW
    - -
    -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, www-spong will -attach a REFRESH meta tag to reload the web pages every $SPONGSLEEP -seconds. See the Administrator Guide -for more details.
    - -
    -@WWW_REFRESH_DENY
    - -
    -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, www-spong will -NOT attach a REFRESH meta tag. User's must use the Reload/Refresh button -on their web broswer to update the Spong  web pages. See the Administrator -Guide for more details.
    - -
     
    - -
    -

    SPONG CLEANUP VARIABLES - -
    -
    $SPONG_ARCHIVE - -
    -The directory where to put old history file entries for each host. Each host have it's own file in this directory -
    - -
    $OLD_HISTORY - -
    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 $SPONG_ARCHIVE directory. -
    - -
    $OLD_SERVICE - -
    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 $OLD_SERVICE days old are deleted from the -database. -
    - -
    - -
    -

    -SERVICE THRESHOLD VARIABLES

    - -
    -
    -@DFIGNORE
    - -
    -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.
    - -
      -
    -%DFWARN, %DFCRIT
    - -
    - A hash of file systems (or the word ``ALL''), and the percentage -that should trigger a problem (%DFWARN triggers warnings - yellow, -and %DFCRIT 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.
    - -
      -
    -$CPUWARN, $CPUCRIT
    - -
    - A number indicating the CPU load that triggers a problem ($CPUWARN -triggers warnings - yellow, and $CPUCRIT triggers alerts - red).
    - -
      -
    -@PROCSWARN, @PROCSCRIT
    - -
    - A list of processes that should be running, if they are not running, -then trigger a problem (processes in @PROCSWARN trigger a warning -- yellow, and processes in @PROCSCRIT trigger an alert - red).
    - -
      -
    -$LOGCHECKS
    - -
    -A list of hashes which defined checks to apply to log files. Each hash -contains the fields logfile which is the full path to the log file -to check and checks whch  is a list of check to apply to the -log file. Each check is a hash that contains the fields: pattern -- a Perl regular expression to be scanned for, status - the status -color to reported lines matching pattern, duration - the duration that -each event is to be reported to the server, text - the text to reported -back in the detailed message field of the status report (which can include -match position variables from pattern) and id - an optional -key field to associated with each event generated.  See the check_logs -documentation for more information and examples.
    - -
      -
    -%HTTPDOCS, %HTTPPORT
    - -
    -These variables provide some parameters when checking http based servers. -The %HTTPDOCS 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.
    - -
    -The %HTTPPORT 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
    - -
      -
    -$SEND_MESSAGE
    - -
    -$SEND_MESSAGE defines when spong-message is called by spong-server. -This variable can contain one of four valid values. If it is ``RED'', then -spong-message -is called for every time a system or service reports a problem. If its -value is ``CHANGE'', then spong-message is only called when there -is a change of state . If this values is "RED-CHANGE", then spong-message -is called  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 spong-message -is never called.
    - -
      -
    -$MESSAGE_PER_HOUR
    - -
    -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.
    - -
      -
    -$IDENT_MESSAGES_PER_HOUR
    - -
    -This is the maximum number of identical messages that are sent to the same -person in an hour. The default value is 3.
    -
    - -
    -

    -OS SPECIFIC VARIABLES

    - -
    -
    -$DF, $UPTIME, $PS, $GREP, $PING, $TRACEROUTE, -$MAILQ
    - -
    -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.
    -
    - -
    -

    -FUNCTIONS

    -DEPRECIATED:  spong-client -checks are now modules. See Client -Modules in the Developer Guide documentation. -
      -

    You can defined a &check_local() 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. -

    Here is an example &check_local() function that -we run on some of our machines to check to make sure that our sendmail -mail queue is not getting too large. -

     sub check_local {
    -    my $color    = "green";
    -    my $summary  = ""
    -    my $rt       = `mailq | head -1`;
    -
    -    chomp $rt;
    -
    -    if( $rt =~ /\((\d+) request/ ) {
    -       $items = $1
    -       if( $items > 1000 )
    -          $color = "red";
    -       } elsif( $items > 500 ) {
    -          $color = "yellow";
    -       }
    -
    -       $summary = "$items messages in the mail queue";
    -
    -    } else {
    -       $color = "yellow";
    -       $summary = "Can't parse mailq output: $rt";
    -    } 
    -
    -    &status( $SPONGDISPLAY, $HOST, "local", $color, $summary, "" );
    - }
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -This is the standard spong.conf file that is read by all spong programs.
    - -
      -
    -/usr/local/etc/spong/spong.conf.[host]
    - -
    -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.
    -
    - -
    -

    -SEE ALSO

    -the perl manpage , the spong-server manpage , the spong-network -manpage , the spong-client manpage , the spong-display manpage -, the spong-message manpage , spong.hosts -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong_hosts.html b/www/docs/spong_hosts.html deleted file mode 100755 index 21f4784..0000000 --- a/www/docs/spong_hosts.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - spong.hosts - - - -


    -

    -NAME

    -spong.hosts - define hosts and services to monitor -

    -


    -

    -DESCRIPTION

    -The spong.hosts file defines two things. 1) What hosts you want to monitor -(and the attributes associated with each host), and 2) What humans should -be contact when a given host has problems (and the attributes associated -with each human). -

    Each host should have the following attributes associated with it: -

        * services      the network services running on that host
    -
    -
    -
    -Optionally, the follow attributes can also be assigned to a host: -
        * down          time period the host is scheduled down, problems
    -
    -                    are not reported during this time.
    -
    -    * ip_addr       a list of ip addresses corresponding to multiple 
    -
    -                    interfaces the machine might have.
    -
    -
    -
    -The services is a string listing the valid services seperated by spaces. -Currently, valid services are ``dns'' (if you have the Net::DNS Perl module -installed), ``ftp'', ``smtp'', ``http'', ``imap'', ``pop3'',  ``nntp'',  -``nfs'',  ``ntp'' and``ssh'' although more checks will be added in -the future. The can include any addition network checks that you have developed -(see spong-network for more details) -. Any host listed is automatically checked for network connectivity (via -ping). -

    The down attribute is 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 -

    The ip_addr attribute is a list (well reference to one anyway) of IP -address that the machine responds to. -

    Each human that is defined should have the following attributes associated -with it: -

        * name          name of the person to contact
    -And one or more of the following attributes assigned to each human for -messaging when there are problems -
      -
        * email             email address
    -
    -    * skytel            skytel pager number
    -
    -    * alltelsms         phone number of a phone subscribered to Alltel Communications SMS service.
    -
    -    * teletouch         teletouch pager number
    -
    -    * teletouch_short   teletouch pages numer for small alpha pagers
    -  -

      -
      -

    These attributes are messaging functions for sending out notifictions -to people. All of the messing methods are message modules that are load -by the spoing-message as a plugin.  The attributes listed above are -the message functions that are part of the current Spong distribution. -New messaging modules can be easily be developed (see the spong-message -manual and the Developer Guide -for more details). -

    -


    -

    -FORMAT

    -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-). -

    What is expected in this file are the definitions for two hashes of -hashes (in Perl speak). The %HOSTS hash, and the %HUMANS -hash. If you are not comfortable with Perl lingo, then just think of them -as stanza definitions. -

    First, the HUMANS. The following describes the %HUMANS hash. -

        %HUMANS = ( [stanza], [stanza], [stanza] );
    -where [stanza] is a second hash, that looks like the following: -
       'unix-staff' =>    { name  => 'Midrange On-call Staff',
    -
    -                        email => 'its-unix@uiowa.edu',
    -
    -                        skytel => '1234567' },
    -What this says is that the 'unix-staff' human has the following attributes -(name = Midrange On-call Staff, email = its-unix@uiowa.edu, -skytel = 1234567). -

    Now, the HOSTS. The following describes the %HOSTS hash. -

        %HOSTS = ( [stanza], [stanza], [stanza] );
    -where [stanza] is a second hash, that looks like the following: -
        'www.uiowa.edu' =>          { services => 'ftp smtp http',
    -
    -                                  ip_addr  => ['192.168.15.2','10.2.124.200'],
    - -
                                      down     => [ '*:0015-0030','6:23:00-23:59'] }
    -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). -

    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. -

    -


    -

    -EXAMPLES

    -Here are some lines from our spong.hosts file to show you possible configurations. -
     %HUMANS = (
    -
    -  'unix-staff' =>    { name  => 'Midrange On-call Staff',
    -
    -                       email => 'its-unix@school.edu',
    -
    - 
    -
    -  'edhill' =>        { name  => 'Ed Hill',
    -
    -                       email => 'ed-hill@school.edu',
    -
    -                       skytel => '1234567' },
    -
    - );
    -
    - %HOSTS = (
    -
    -  'strobe.weeg.school.edu' =>   { services => 'dns ftp smtp http',
    -
    -                                  ip_addr  => [ '128.255.1.3', 
    -
    -                                                '128.255.64.3' ],
    -
    -                                  down     => [ "*:05:30-06:30",
    -
    -                                                "0:00:00-04:00 ] },
    -
    -  'www.school.edu' =>           { services => 'ftp smtp http' },
    -
    - );
    -
    -
    -
    -
    -
    - -

    - -
    COMPATABILITY

    -In a future release of spong the %HUMAN configuration information will -be moved into the spong.message configuration file. It is currenly being -retained in the spong.hosts file for compatability. -
    -
    -

    -SEE ALSO

    -the spong-server manpage , the spong-network manpage , the -spong-message manpage -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/spong_message.html b/www/docs/spong_message.html deleted file mode 100755 index 06b145d..0000000 --- a/www/docs/spong_message.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - spong.hosts - - - -


    -

    -NAME

    -spong.message - define rules on how and when to send messages -

    -


    -

    -DESCRIPTION

    -The spong.message file defines the rules that spong-messge program used -for notifications. The rules consist of attributes which define crieria -which events are matched against and a list of contacts to notifiy if all -of the matching criteria are met. -

    Each rule should have more of more of the following matching criteria -attributes: -

        * hosts              a list of hosts to match
    -
    -    * host_groups        a list of hosts groups to match
    -
    -    * services           a list of services to match
    -
    -    * exclude_hosts      a list of hosts to exclude
    -
    -    * exclude_services   a list of services to exclude
    -
    -    * exclude_host_groups   a list of host groups to exclude
    -
    -    * times              a list of days/times to match
    -And each rule must have the following attributes: -
        * contacts           a list of contacts to notify
    -The hosts are a list of host names that are matched against the host name -parameter passed to spong-message. -

    The services are a list of services that are matched against the service -parameter passwd to spong-message. -

    The exclude_hosts are a list of host names that are be excluded from -matching the rule. -

    The exclude_services are a list of services that are to be excluded -from matching the rule. -

    The times are a list of stanzas the have days of the week and/or time -ranges to match against the time parameter passed to spong-message. Each -times stanza can have a days and/or a times attribute which are lists of -days and times ranges to be matched. -

    The days attribute 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=Staurday). -And 'd-'d represents a range of days (i.e. 1-5 = Monday - Friday). -

    The times attribute 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. -

    Each of the elements of the hosts, services, exclude_hosts, and exclude_services -are actually Perl regular expressions. You can use wide cards to specify -who groups of hosts or services to match. -

    The down attribute is 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 -

    The contacts is a list of stanzas representing the contacts to notify -if the all of the rules' matching criteria are met. Each stanza can be -a string or a contact stanza.  The strings can be one of the following -formats - 'human' or 'human:func' where human is a strings represent an -entry from the %HUMANS defined in spong.hosts -and func is one of the message functions attributes defined for that human. -

    A contact stanza can must have a rcpt attribute which is a strings are -defined above. It can optiionally can have a delay and/or a repeat attributes. -The delay attribute is the duration, in seconds, that an event must have -before the rcpt is notified. The repeat is the time interval, in seconds, -in which notifications are resent once an initial notification is sent. -

    -


    -

    -FORMAT

    -The spong.message 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-). -

    What is expected in this file are the definition for the $MESSAGING_RULES,  -and $RULES_MATCH 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] ];
    -where [stanza] is a second hash, that looks like the following: -
        { hosts => [ 'unixweb', '.*-ops.cic.myschool.edu', 'steves-pc' ]
    -
    -      services => [ '.*' ],
    -
    -      exclude_hosts => [ 'backup-ops.cic.myschool.edu'],
    -
    -      exclude_services => [ 'dns', 'ssh'],
    -
    -      times => [
    -                  {
    -                    days=> ['0','1-3','4-5'],
    -                    times=> ['06:30-18:30','21:00-22:00'
    -                  },
    -                  { days => ['5','6','0-2'] },
    -                  { times => ['13:00-15:23','00:00-23:39'] },
    -               ],
    -
    -      contacts => [ 'ops', 'sjohnson:email',
    -                    { rcpt=>'sjohnson:teletouch', delay=>900, repeat=>600 },
    -                    { rcpt=>'the_supervisor:teletouch',
    -                        delay=3600, repeat=>1800 },
    -                    { rcpt=>'the_boss', delay=>7200, repeat=>3600 },
    -                   ],
    -    },
    -The $RULES_MATCH variable has three possible values: OLD -- Use Spong ver 2.1 messaging. Send notification the human defined in the -contact attibute for the host name of the message. FIRST-MATCH - -Rules are checked in order until the first one that matches. ALL -- Rules are checked into order. All rules that match are processed. -

    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. -
    -


    -

    -MATCHING LOGIC

    -The primary factor of how spong.message rules are processed depends upon -the vaule of $RULES_MATCH. If set to  'OLD'  then the -rules are not used at all. spong-message -reverts back to it Spong version 2.1 behaviour. Notify the human defined -in the contact attribute of the %HOSTS entry for the host. If set -to 'FIRST-MATCH' then the rules are check in order until the first rule -matching the event parameter is. spong-message will then begin notification -processing. If $RULES_MATCH is set to 'ALL' then al of the rules -are scan in order. The contacts of all matching rules are adding to the -list of  recipients that will be notified. -

    All of the matching attributes except for exclude_hosts and exclude_services -have an automatic match if absent property. For example, if the hosts -
    attribute is missing from a rule, that rule will match any host name. -The exclude_hosts and exclude_services have a slightly different -matching behaviour man the other matching attributes, if there is a match -against either of them, the rule will not match even if all of the other -matching attreibute match. For example, if a rules has hosts => [ '.*.cic.my-company',  -'.*.corp.my-company.com' ] and exclude_hosts[ 'my-pc' ] , a -host name of 'my-pc.corp.my-company.com' will not match against this rule -because of the host name matches the exclude_hosts attribute -

    The times attribute's subattribues, days and times -, have the automatic match if absent property. If one of the sub-attributes -is missing from a stanza any check against that attribute will succeed. -That is days is missing from the stanza, any day of the week will -match againast the stanza. If the times sub-attribute is missing, -the stanza matches against any time.  A times attribute match -succeeds if any stanza of the attribute matches. -

    -


    -

    -EXAMPLES

    -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 => [ '.*' ],
    -                services => [ '.*' ],
    -                contacts => [ {rcpt=>'fsipes', delay=>1800}, ],
    -                exclude_hosts   => ['tunixt'],
    -                exclude_services => ['test'],
    -        },
    -
    -        # Let Dwayne in Engineering know when a system does down and dns problems 
    -        # except for the test box
    -        {
    -                hosts => ['.*'],
    -                services => ['ping','ftp','smtp','dns'],
    -                exclude_hosts   => ['tunixt'],
    -                contacts => [ 'dstucker' ],
    -        },
    -
    -        # Let me know about everything except the test box except late at
    -        # night
    -        {
    -                hosts => ['.*'],
    -                services => ['.*'],
    -                exclude_services => ['nntp','ntp'],
    -                exclude_hosts   => ['tunixt'],
    -                contacts    => ['sjohnson'],
    -                times => [ 
    -                        { times => ['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
    -        {
    -                hosts => ['.*.k12.ar.us'],
    -                services => ['.*'],
    -                exclude_services => ['nntp','ntp'],
    -                exclude_hosts   => ['tunixt'],
    -                contacts    => [ { rcpt=>'unix-oncall:teletouch', repeat=>900}, ],
    -                times => [ 
    -                        { days => ['1-5'], times => ['17:00-23:59','00:00-08:00'] },
    -                        { days => ['0','6'] },
    -                        ],
    -        },
    -
    -  ];
    -
    -
    - -
    -

    -COMPATABILITY

    -To use Spong version 2.1 message and messaging configurations set $RULES_MATCH -to 'OLD'. If $RULES_MATCH is not defined it will default to 'OLD'. -
    -
    -

    -SEE ALSO

    -the -spong-message manpage -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - diff --git a/www/docs/todo.html b/www/docs/todo.html deleted file mode 100755 index 49d93f3..0000000 --- a/www/docs/todo.html +++ /dev/null @@ -1,62 +0,0 @@ - - -Spong v2.x - Todo List - - - -

    Spong - Todo List

    -
    - -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.

    - -

      - -
    • Make web interface more configurable: (user selectable backgroup colors/ -method, table shading scheme) - -
    • Add option to use style sheets on Web Interface. - -
    • Client support (spong-client) for NT -
    • Server support (spong-server, spong-network, spong-display) support for NT - -
    • Make spong-network more parallel, have it perform checks from a pool of -children, that way if a system can not be pinged - it will not slow up the rest -of the checks. - -
    • Make spong-network check more often on hosts that do not respond on the -first try - -
    • Add some limited event correlation to spong-network to not report service -problems is a parent router/swith is unreachable. - -
    • Optimize the communication between client and server - by pipelining -reports through a single channel and perhaps compressing the data before -sending it. - -
    • Make it so that you can click on a host and find out status, history, -configuration (inventory), and statistics. (starting to branch out). - -
    • Integrate gstats (statistics collection) program. "spong-stats" (Ed Hill) -
    • Add an inventory/configuration module. "spong-config" - -
    • Continue modularizing to move towards Object Oriented as much as possible. - -
    • Add control ports to spong-client,spong-network, and spong-server to -ultimately allow the programs to be control and configured remotely - -
    • Add stats package to record and display status update inforation in -RRD Tool databases. "spong-rrd" (In progress, alpha status) - -
    • Incorporate OpenSSL into the Client<->Server connections as an option. - -
    • Upgrade spong-message to allow messages to be customizable via a user defined template. - -
    -
    -Most recently updated on Jan. 27, 2000 by -Stephen L Johnson -(sjohnson@monsters.org) - - diff --git a/www/docs/user-guide.html b/www/docs/user-guide.html deleted file mode 100755 index b412805..0000000 --- a/www/docs/user-guide.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - -

    -NAME

    -user-guide - a user's guide to using Spong -
    -
    -

    -DESCRIPTION

    -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. -
      -

    -SPONG OVERVIEW

    -  -

    -WEB USER INTERFACE

    -The initial Spong web displays comes up with page with two frames.  -The left  Dommand frame is a summary of any hosts that have any problems -(i.e. any service that is red.) The right Display frame displays a table -of the group All (e.g. All Servers) that lists hosts and services. -
      -

    -Status Colors

    -Though out many of the displays the status of a host or a services is expressed -as a color. This is a list of the colors and their meaning. -
    -
    -GREEN
    - -
    -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.
    - -
    -YELLOW
    - -
    -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.
    - -
    -RED
    - -
    -For a service, red means that is something is critically wrong for a service, -such as a network serice not responding or a parameter is radically out -of bounds. For a host, red means that one or more services are at a critcal -status.
    - -
    -PURPLE
    - -
    -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 monitoring program has stopped for some reason. For -a host, is means that one of more service status reports are over due.
    - -
    -BLUE
    - -
    -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.
    -
    - -

    -Command Frame

    -The left Command frame is divided 5 sections from top to bottom: Title, -Action Bar, Main Section (problem host list), Host Group selector and Last -Update. -

    -Title

    -The section is simple the title Spong and the version numer of the server. -

    -Action Bar

    -The section under the title section is the Command action bar. The Ack -link will bring up the www-spong-ack -CGI program in the Display frame. The page allows your to display, delete, -or create Spong Acknowledgements. The Summary link brigs up the -host summary table of the currently select Host Group in the Display frame. -The History link displays the event history for all of the hosts -in the current Host Group. And the Help link will the Spong HTML -documentation. -

    -Main Section

    -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 "No Current Problems" -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. -

    The host name is a link that will bring up the full status display -for the host in the Display frame. The problem field under the host -name is a to service display page for that host. it will be displayed on -the Display Frame. The updated field is the date and time that the -status of that service updated. The contact if a link that will -bring up a custom CGI program that will allow you to send a message to -the people responsible that host. -

    -Group Section

    -The Host Group section allows to select which group of hosts that your -want to display in the Summary and History displays. This -title to the right of the Group link is the currently selected Host -Group. Selecting the Group link brings up the Spong Group display -in the Display frame. On top of page of a list of all of the predefined -Host Group defined along with the show group name and a summary description -of the group. -

    If you click the group name link, you change the group of hosts -that you are monitoring. The web browser window will be redrawn to reflect -the new groups hosts. At the bottom of the Spong Groups display -is a section that allows your to select a custom of hosts to monitoring. -Your select all of the hosts that you want to be in your custom group from -the list of hosts. Then clock in the Show Hosts button to redraw -the browser window and display the your custom group of hosts. -

    -Last Update

    -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 -seconds -
      -

    -Display Frame

    -The right frame is the Display Frame. It is used to display various informational -displays and forms.  The default display is the Group Summary -of the currentl selected group of hosts. Most of the sub-pages have an -action bar. -

    -Action Bar

    -The Action Bar on displays is directly under the title at the top -of the page. The Connect to Host link will start a telnet session -to the host if clicked. The Acknowledge Problem link will bring -up the www-spong-ack CGI program -Display. The Host and Service fields will be filled in (if possible).  -The Contact Help 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. -

    -Group Summary Display

    -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. 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 (see  $WWW_USE_IMAGES -in -spong.conf). The status's are -represented by the color: RED - critical, YELLOW - warning, GREEN - normal, -PURPLE - status is output of date, BLUE - service has active acknowledgement, -NOTHING - service is not checked. -

    The host name in the first column is a link to Host Services -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 Service Status -display for the host/service. -

    -Host Services Display

    -This display shows most of the avaliable information abou the host. The -display is divided into serval sections. From top to bottom they are : -Title -(Host Name), Action Bar, Overall Status, Acknowledgements, -Services -Table, Information, -History. -

    -Title

    -The is the name of the Host being displayed. -

    -Action Bar

    -The Action Bar is discussed above. -

    -Overall Status

    -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 status's according -to the following hierchy: BLUE, RED, YELLOW, GREEN, PURPLE. -

    -Acknowledgements

    -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 Delete link for each acknowledgement -also which will delete the acknowledgment when clicked. -
    -Services Table
    -This is a summar 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 Service Status display for the -service. -

    -Information

    -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, embeded image or links to other -information sources. For further information see the Administator -Guide. -

    -History

    -The recent event history of the host will be displayed in this section. -The events are displayed in reverse chronological orders divided into seperate -days. Each event has the status color, time (in 24 hour format), host name, -service name, and message summary line of the event. If $STATUS_HISTORY -is enabled, the status color icon/box will be a link that will display -the Service Status update that generated the event. -

    -Service Status Display

    -This display shows all of the infomation available for the service/host. -It is divided into several sections: Title (Host Name/Service), -Action -Bar Summary Information, -Detailed Information. -

    -Title

    -This is the name of the host and service being displayed. -

    -Action Bar

    -This is discussed above. -

    -Summary Information

    -This section shows summary information for the service. First is a colored -bar that shows the current status color of the service. See Status -Colors for details. Next is the Updated: field which if the -date and time of the last update of the status. The Duration field -shows the amount of time that the service has been in it's current status. -And last is the Summary field which is a one line summary message -about the status of the service. -

    -Detailed Information

    -This last section is detailed information about the status of the service. -The type of information depends of the service. For example, for the disk -service it will be the output of the df command showing the mounted -disk partitions and amount of space used on each disk and the for the cpu -service it will be a ps comand output showing information about -the top 10 processes using a CPU. -

    -Acknowledge Problem Display

    -This display is a form generated by the www-spong-ack -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 expirate -date of the acknowledgement, and the message text of the acknowledgment. -There is also a Delete 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 www-spong-ack -documentation for more information. -

    -COMMAND LINE USER INTERFACE

    -The command line interface is provided by the spong -documentation. -

    -ACKNOWLEDGMENTS

    -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 neccessary. -Acknowledgments are created for a specifc host and service, or all services -can be ack'ed. by specifying 'all' for the serice name. - - diff --git a/www/docs/www-spong.html b/www/docs/www-spong.html deleted file mode 100755 index 376467f..0000000 --- a/www/docs/www-spong.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - spong-server - - - -
    -

    -NAME

    -www-spong - display spong system status via the web or generate -static HTML pages of system status -

    -


    -

    -SYNOPSIS

    -www-spong [--summary [hostlist] | --problems [hostlist] | --history -[hostlist] | --host host | --services host | --stats host -
                               -| --config host | --info host | --service host:service ] [--brief | --standard -| --full ] -

    -


    -

    -DESCRIPTION

    -The www-spong program interfaces with the spong-server to display the collected -information  in HTML format. www-spong can be run in two modes: as -a CGI program and from the command line. -

    When run as a CGI program it does not have to loaded onto the same machine -that spong-server is runnning. 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 -wth two frames.  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 the User -Guide. -

    When run from a command line, www-spong generatesHTML pages that are -printed to the console. This mode can be used to generate static HTML pages. -If www-spong is run with any parameters a page that contains a summary -display for all hosts is generated. -
      -

    -Options

    - -
    ---summary  [hostlist]
    - -
    - 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.
    - -
    ---problems  [hostlist]
    - -
    -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.
    - -
    ---history  [hostlist]
    - -
    -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.
    - -
      -

      -
      -
      -

    ---host  host
    - -
    -Shows all information availiable for the given host.
    - -
    ---services host
    - -
    -Shows detailed service information for the given host.
    - -
    ---stats host
    - -
    -Show statistical information for the given host.
    - -
    ---config host
    - -
    -Shows configuration intomation for the given host.
    - -
    ---info host
    - -
    -Shows admin supplied text for the given host.
    - -
      -

      -
      -
      -

    ---service host:service
    - -
    -Shows detailed information for the given host/service. The
    - -
      -

      -

    --brief -

    -Display output in a brief format
    - -
    ---standard
    - -
    -Display output in standard format (the default)
    - -
    ---full
    - -
    -Display the maximum amount of information possible.
    - -
      -

      -

    -


    -

    -CONFIGURATION

    -By default, www-spong reads the /usr/local/etc/spong/spong.conf -file which define some specific variables that you probably don't need -to override. -

    By default the  /usr/local/etc/spong/spong.conf   -file is read on startup. It defines some specific variable that you probably -don't need to override. -

    After reading the configuration fil,  it then reads the /usr/local/etc/spong/spong.conf.[host] -file where [host] is the hostname of the machine that you are running on. -Since these configuration files are just standard perl code that gets imported, -the variables that you define in the host specific config file will take -precedence over the standard configuration settings. -

    Here are a list of variables in the spong.conf file that are applicable -to the spong-server program: -
      -
    -$SPONGSERVER
    - -
    -The make of the server that spong-server is running on.
    - -
      -
    -$SPONG_QUERY_PORT
    - -
    -The port numbr that spong-server listens at for database queries.
    -
    - -
    -

    -FILES

    - -
    -
    -/usr/local/etc/spong/spong.conf
    - -
    -Configuration file. This contains variables that detail spong and OS specific -definitions used by spong-server. See spong.conf for additional -documentation.
    -
    - -
    -

    -DEPENDENCIES

    -Perl v5.003 or greater is required. -

    -


    -

    -BUGS

    -The --stats, --config, and --info parameters are currently -not implemented in the spong-server. When specified they will just generate -a blank HTML page.. -
    -
    -

    -SEE ALSO

    spong.hosts, spong.conf -

    -


    -

    -AUTHOR

    -Ed Hill (ed-hill@uiowa.edu), Unix -System Administrator, The University of Iowa -
    Stephen L Johnson (stephen.johnson@mail.state.ar.us) -or (sjohnson@monsters.org), -Unix System Administator, DIS - State of Arkansas -

    Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). - - -- 2.30.2