Next: spong.message | Previous: spong.groups | [Table of Contents] | [Index] |
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 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.
Additional attributes can be added into %HOSTS entries. These attributes can be used for any external program of additional modules that you have added to your Spong installation. All of the Spong programs will ignore any attributes that they don't recognize.
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 => 'unix-staff@school.edu', skytel => '1234567' },What this says is that the 'unix-staff' human has the following attributes (name = Midrange On-call Staff, email = unix-statff@school.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.
%HUMANS = ( 'unix-staff' => { name => 'Midrange On-call Staff', email => 'admin-staff@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 => [ '192.168.15.2', '10.2.124.200' ], down => [ "*:05:30-06:30", "0:00:00-04:00 ] }, 'www.school.edu' => { services => 'ftp smtp http' }, );
ed-hill@uiowa.edu
>, Unix System Administrator, The University of
Iowa
Stephen L Johnson <sjohnson@monsters.org
>