Top‎ > ‎Unix & Linux trinkets‎ > ‎! Projects‎ > ‎

1 NMFD: Network monitoring made simple

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 starting...
NMFD DAEMON PID: 3469 running, nmfdnet PID=3689.
Configuration:   /home/danny/.nmfd.cf0
Directory:       /tmp/NMFD
Access URL:      file:///tmp/NMFD/index.html
Refresh:         10
Overdue:         0
Sleepval:        3
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
#email john
#email gary
#email fred
#email sal
#email richard
#email jd
#email steve
#email danny

# 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 SUN
#host VENUS
#host EARTH
#host MARS
#host SATURN
#host URANUS
#host GOOGLE

# 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

Danny Chouinard,
Sep 9, 2010, 9:42 AM