[Table of Contents][Index]



spong.groups - define groups of spong hosts


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

The spong.groups file defines a set of hosts from spong.hosts. This file is used by the Spong display programs www-spong and spong for formating and filters output displays. The spong-message uses this in it's messaging rules to do inclusion or exclusion of notifications for groups of hosts.

Any number of groups can be added created. A host belong to multiple groups or no groups. There is a default group of ALL which all hosts in spong.conf are automatically a member.

Note: You do not have to add hosts into the 'ALL' group in the spong.groups file. It is done automatically.


Each host should have the following attributes associated with it:

Optionally, the follow attributes can also be assigned to a group:


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 is the definition for one hash of hashes (in Perl speak). The %GROUPS hash, If you are not comfortable with Perl lingo, then just think of them as stanza definitions.

The following describes the <%GROUP> hash.

  %GROUPS = ( [stanza], [stanza], [stanza] );
where [stanza] is a second hash, that looks like the following:

  'servers' => { name    => 'Main servers',
                 summary => 'Main servers that are up 24x7',
                 members => [ '',
                 compress = 0;
                 display = 1;

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


Here are some lines from my spong.groups file to show you possible configurations.

  %GROUPS = (
   'all' =>   { name    => 'All Systems',
                summary => "This groups contains all hosts monitored by spong" },

   'servers' => { name    => 'Main servers',
                  summary => 'Main servers that are up 24x7',
                  members => [ '',

   'windows' => { name => 'Windows Hosts',
                  summary => 'Computers running Windows or NT',
                  members => [ '',
                  compress => 1,

   'msgtest' => { name => 'spong-message groups',
                  summary => 'A group to test spong-message rules matching',
                  members => ['',
                  display => 0;  # Don't display this group



the spong-server entry elsewhere in this document, the spong-network entry elsewhere in this document, the spong-message entry elsewhere in this document


Ed Hill <>, Unix System Administrator, The University of Iowa

Stephen L Johnson <>


Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill original converted Big Brother ( into Perl which diverged from Big Brother to become Spong. Ed Hill continued Spong development until version 2.1. Stephen L Johnson took over development in October, 1999 with his changes which became Spong 2.5.

[Top] Generated by Pod::HTML 0.43 on Wed Jun 13 11:17:45 2001