nefu.conf - dependency map for nefu network monitor

     nefu.conf contains dependency and service  information  used
     by the nefu network monitor.

     A configuration entry is composed of  at  least  two  lines.
     The  first line is a colon separated line with three fields:
     one or more target machines, the target's network dependency
     (if  any),  and a list of mail addresses that are alerted in
     the event of a target's state change.  The second and subse-
     quent  lines  define the services to be tested on the target
     machines.  Syntax is as follows:

     machine [ machine ...] : [ dependency ] : [ group ...]
     <tab>      test[:port] [arg ...]
     [<tab>     test[:port] [arg ...] ...]

     A '\' character at the end of a line  is  interpreted  as  a
     line continuation character.

     Lines beginning with  a  '#'  character  are  comments,  and

     Machines must be domain names or IP addresses.  If  nefu  is
     unable  to  resolve  a  domain  name,  or  if  a domain name
     resolves to multiple IP addresses, it will be ignored by the
     monitor  and  listed  as  down on the status page.  Nefu may
     re-query DNS for these machines.  See nefu(1).

     A dependency is a machine that acts as  a  gateway  for  any
     other  machine.  Machines and routers that are local (on the
     same subnet as a nefu machine) will have no dependency.  All
     dependencies  must  also  be defined as machines, with their
     own dependencies.  Dependancies may not  be  circular.   All
     machines must have a path back to the root of the tree.

     groups are mail addresses  where  nefu  mails  state  change

     Tests are services that a machine  offers.   Tests  use  the
     default  port  for  their  protocol,  where applicable.  The
     optional port argument is used to monitor protocols on  non-
     standard ports.

         usage:  ping [ up ]
     Ping uses a raw socket, and does not take a  port  argument.
     The  optional  "up"  argument will not test ping, but always
     return success.  Ping can only be  explicitly  defined  once
     per  machine.   If  ping  is  not  explicitly  defined for a
     machine, ping will inherit every group of every service mon-
     itored on that machine.

         usage:  '!' scriptname [arg ...]
     The shell test does not take a port argument.  All  optional
     arguments  are  passed  to  the script.  Scripts are located
     under $HOME/shelltests, and  must  be  executable  by  nefu.
     nefu  sets  two  environment variables that scripts may make
     use of,  NEFU_MACHINE  which  is  the  machine's  name,  and
     NEFU_ADDR,  the  machine's  IP address, as well as including
     all of the environment variables that nefu was invoked with.
     Shelltests  return  0  for  UP,  1  for  DOWN,  and  2   for
     MAYBE_DOWN.  The first line of output  from a  shelltest  is
     preserved as a status message.

     tcp "port" test
         usage:  tcp
         usage:  telnet
         usage:  finger
         usage:  https
         usage:  afp
         usage:  kpop
         usage:  irc
     If this test successfully connects to a given port it closes
     the connection and returns up.  No banners are read, no pro-
     tocol information is exchanged.

     stcp test
         usage:  stcp
         usage:  ftp
         usage:  smtp
         usage:  nntp
         usage:  tpp
     If this test connects,  receives  a  "2??"  banner,  replies
     "QUIT", receives a "2??" banner, and successfully closes the
     connection, the service is considered up.

         usage:  http
     This test expects a "2??" or "3??" banner.

         usage:  dns
     This test asks for a list of the master nameservers.

         usage:  pop
         usage:  pop2
         usage:  pop3
     This test expects a "+OK" banner.
         usage:  ntp
     This test expects a reply to be within  30  seconds  of  the
     monitor machine's local time.

         usage:  imap
     This test expects a "* OK" and "* BYE" banner.

     The following are example entries in a nefu.conf file:

     Example where nefu  monitors  dns  and  telnet  on  a  local
     server.  No  dependency  is  listed  for  local  routers and

          server : : unix_group

     Example where nefu monitors web service on the same  server,
     with a different responsibility group.

          server : : web_group

     Example where nefu monitors two web servers and a dns server
     behind  a  local router.  Each web server is running http on
     ports 80 and 8080, as well as https and ftp.

          dns_server : router : unix_group

          webserver1 webserver2 : router : web_group

          router : : network_group

     Example where nefu monitors a  server  with  a  shell  test.
     Both the web group and unix group are alerted.

          unix_server : router : unix_group web_group
               ! external_shelltest

     nefu(1), sendmail(1)

Man(1) output converted with man2html