From nmfd's documentation: 1. What is NMFD?
NMFD is a Network services monitoring tool. While there are litterally
hundreds of networking monitoring tools out there, NMFD differs from all
of them in one factor: Simplicity.
It is the absolute simplest Unix-y network monitoring tool to install,
configure, run, and manage by far. It has an very short list of
requirements to run. While it presents the network status and offers
controls in web pages, it DOESN'T require Perl modules, Perl, PHP, or
any kind of CGI interface. Heck, it doesn't even require a web server,
but will still obey user inputs from its web page.
2. What can NMFD monitor?
The sky's the limit. If you can think of a single command line that
returns a "good" or "bad" status, NMFD can monitor it. NMFD currently
has a few standard internal checkers for things like ping, DNS queries,
TCP handshakes (in clear and TLS (SSL)). For example, you can use the
TCP checker to check a mail server with a single config line that says
'Connect to so-and-so host at port 25, wait 2 seconds, send "HELO"
and see if you get a proper response.'
If NMFD doesn't provide the kind of checks you need, you can easily
add your own, as simple bash functions directly in the one configuration
What the command-line interface looks like:
B$ nmfd start
NMFD isn't running.
NMFD DAEMON PID: 3469 running, nmfdnet PID=3689.
Access URL: file:///tmp/NMFD/index.html
Times: 0m0.252s 0m0.116s
Times: 0m0.317s 0m0.676s
B$ nmfd stat
N Host Service Status Message
N EARTH LOAD GOOD System load: 0.06
N JUPITER DISK GOOD File system / is at 73% capacity
N LOCALHOST PING GOOD 5 transmitted, 5 received, 0% packet loss,
N MARS PING GOOD 2 transmitted, 2 received, 0% packet loss,
N MERCURY FILE GOOD File /etc/passwd exists.
N NEPTUNE DUMMY GOOD 2010/09/09-12:30:54 (45054) Args: ip:127.0
N NEPTUNE FORTUNE GOOD /usr/games/fortune -s: Furious activity is
N SUN FLIP DEGRADING Flipping every 120 seconds, current status:
N VENUS INIT GOOD The init process is running.
And what the web-interface looks like:
It looks horrible because beauty isn't the goal. NMFD is trying to keep the bandwidth usage low.
And what the incredibly simple configuration looks like:
# Standard NMFD variables.
title="Example configuration for NMFD"
# Group definitions. These have nothing in common with /etc/group.
#group admins danny sylvie george
#group opers gary fred sal richard john jd steve
# And how to contact the people listed in the groups.
# %=pager address, otherwise e-mail.
#email sylvie %sylvie
#email george firstname.lastname@example.org
#email john email@example.com
#email gary firstname.lastname@example.org
#email fred email@example.com
#email sal firstname.lastname@example.org
#email richard email@example.com
#email jd firstname.lastname@example.org
#email steve email@example.com
#email danny %firstname.lastname@example.org
# Hosts list. You may omit hosts that can be look-ed up by DNS. Good idea
# to list them in case your DNS or network go down.
# These are nicknames which do not have to match DNS names. Also, these
# must NOT contain periods (ah ha! Surprise!).
#host LOCALHOST 127.0.0.1
#host SUN 127.0.0.1
#host MERCURY 127.0.0.1
#host VENUS 127.0.0.1
#host EARTH 127.0.0.1
#host MARS 127.0.0.1
#host JUPITER 127.0.0.1
#host SATURN 127.0.0.1
#host URANUS 127.0.0.1
#host NEPTUNE 127.0.0.1
#host GOOGLENS 220.127.116.11
#host GOOGLE www.google.com
# These are example services that should work everywhere.
#sv LOCALHOST PING chkping 60 A A admins 5
#sv LOCALHOST REMOTE chkrem 30 A A admins
#sv SUN FLIP chkflip 15 A A admins 240
#sv MERCURY FILE chkfile 30 A A opers /etc/passwd
#sv VENUS INIT chkproc 180 A A admins init
#sv EARTH LOAD chkload 30 A A admins 2
#sv MARS PING chkping 60 A A opers
#sv JUPITER DISK chkdsk 200 A A opers / 95
#sv NEPTUNE DUMMY chkdummy 90 A A opers
#sv NEPTUNE FORTUNE chkfortune 20 A A opers -s