		      Internet Rover 3.0 InetRover

Chapter 1.  InetRoverd


	********************************************
	*
	*  graphics -- Cannot represent as text.
	*
	********************************************

1.1  Hostfile Format

  The InetRoverd task performs tests on hosts, and adds and deletes
problems from the PROBLEM.FILE based on the success or failure of the
tests.  This information is kept in a file called the hostfile.  The
hostfile has the following fields:

#hostname    uniqidentifier   HelpFileName   PrimaryTest  Test .... Test

CIC-OSU-LAN 192.68.143.1   Help/CIC.OSU  PING()  TELNET()


	********************************************
	*
	*  raster -- Cannot represent as text.
	*
	********************************************

  The hostname can be any contiguos string of characters and corresponds 
to a recognizable host name.   We use the name of the host to indicate
network, location, and interface, whenever reasonable.  

  The uniqidentifier can be any contiguos string of characters that
uniquely identify this node.  This field is passed to the tests defined
in this hostfile entry, and is also used as matching criteria when
problems are added and deleted from the PROBLEM.FILE

  The help file name will be discussed in the Text Display section, and
provides the name of a file containing useful information (contact names,
support hours, etc.) for the host.

  For each entry there exists a primary test, and any number of secondary
tests.  The primary test is used to determine if the host is reachable.  
If the primary test fails, then an entry is added to the PROBLEM.FILE
indicating that this test has failed, and all secondary tests are removed
from the PROBLEM.FILE, if they exist.  If the primary test succeeds, then
this primary entry is removed from the PROBLEM.FILE (if it exists) and
all secondary tests are performed.

1.2  PROBLEM.FILE Format

  The PROBLEM.FILE is a text file containing any number of lines of
alerts.  Each alert is formatted as follows:

  TimeStamp HostName UniqueID Test StatusLine

  where:

  TimeStamp is the unix long representing the start time of the alert

  HostName is the name of the host as specified in the hostfile

  UniqueID is the unique identifier for this host as specified in the
hostfile

  Test is the test that failed

  StatusLine is descriptive text associated with the problem entry.

  Example PROBLEM.FILE:


	********************************************
	*
	*  raster -- Cannot represent as text.
	*
	********************************************

1.3  InetRoverd Tests

  In the Internet Rover scheme, tests have the obvious sematics; either
the test succeeds or fails.  Based on the result, a problem entry is
deleted or added. Any test that can be coded to return a boolean value
can be added to Internet rover.  

  To avoid performing tests on nodes that are clearly not accessible,
Internet Rover takes a two-tiered approach: primary tests and secondary
tests.

  In practice, the primary test is typically the PING() test.  The
secondary tests may include the following tests:  TELNET(), FTP(),
NAMED(), SMTP(), TROUBLE(), DIXIE(),  or any generic test.  

  Generic tests are ones that are performed outside of InetRover.  
Generic tests are scripts or programs that perform some test, and
create or remove files based on the failure or success of the test. 
InetRover will look for the existance or nonexistance of the file to
determine if an alert should be generated or removed.  In this way,
InetRover can be extended to monitor just about anything. 

  One example of a generic test is our T1ASChecker.  A script runs
periodically that queries the T1 NSFNET backbone for a list of autonomous
systems (ASs) announced to the backbone.  If an AS used to be
announced, but is no longer announced, a file is created with a name like
AS###.  Otherwise, if the file already exists, and the AS is announced,
the file is removed.  

  hostfile entry:

  AS231 231 Help/AS.HLP ASDOWN(AS/AS231) 

  When InetRover processes this hostfile entry, it won't recocognize
the ASDOWN test, and assume it is a generic test.  The generic test
returns a boolean based on the existence of the file specified in the
parens.  In this case, if the file AS/AS231 exists, the test fails, and
an alert goes into the PROBLEM.FILE.  Otherwise, the alert is deleted
from the PROBLEM.FILE.

