Next: spong.hosts | Previous: spong.conf | [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:
spong.hosts
program
Optionally, the follow attributes can also be assigned to a group:
This attribute should be 0 or 1. The default value is 1 (display the 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 => [ 'zero.monsters.org', 'godzilla.monsters.org', ], 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 => [ 'zero.monsters.org', 'godzilla.monsters.org', ], }, 'windows' => { name => 'Windows Hosts', summary => 'Computers running Windows or NT', members => [ 'mothra.monsters.org', ], compress => 1, }, 'msgtest' => { name => 'spong-message groups', summary => 'A group to test spong-message rules matching', members => ['godzilla.monsters.org', 'ghidora.monsters.org.', ], 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 <ed-hill@uiowa.edu
>, Unix System Administrator, The University of
Iowa
Stephen L Johnson <sjohnson@monsters.org
>
Based on code/ideas from Sean MacGuire (BB), and Helen Harrison (Pong). Ed Hill original converted Big Brother (http://www.bb4.com) into Perl which diverged from Big Brother to become Spong. Ed Hill continued Spong development until version 2.1. Stephen L Johnson took over development in October, 1999 with his changes which became Spong 2.5.