DragonFly On-Line Manual Pages
nefu(4) File Formats nefu(4)
NAME
nefu.conf - dependency map for nefu network monitor
DESCRIPTION
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 subsequent 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 ignored.
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 alerts.
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.
TESTS
ping
usage: ping [ timeout ]
Ping uses a raw socket, and does not take a port argument. The
optional "timeout" argument specifies the default ping timeout, and
must be an integer 0 or greater. If timeout is set to 0, ping will
never be tested, but will 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 monitored
on that machine.
shelltest
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 protocol
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.
http
usage: http [ timeout ]
[ url ]
This test expects a "2??" or "3??" banner.
dns
usage: dns [ domain ]
This test requests DNS information for a domain. The domain can be an
optioal argument to the test, or can be globally set with the -M
command line option.
pop
usage: pop
usage: pop2
usage: pop3
This test expects a "+OK" banner.
ntp
usage: ntp
This test expects a reply to be within 30 seconds of the monitor
machine's local time.
imap
usage: imap
This test expects a "* OK" and "* BYE" banner.
EXAMPLES
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 machines.
server : : unix_group
dns
telnet
Example where nefu monitors web service on the same server, with a
different responsibility group.
server : : web_group
http
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
dns
ntp
telnet
webserver1 webserver2 : router : web_group
http
http:8080
https
ftp
router : : network_group
ping
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
SEE ALSO
nefu(1), sendmail(1)
RSUG October 2002 nefu(4)