SNMP::Monitor - A module for watching interface status, logging
interface utilization and arbitrary other SNMP
queries
====================================================================
1.) What is it?
Are you managing a network? Then you definitely want to be notified
about status changes of your WAN lines. You are interested in displaying
the utilization of both LAN and WAN. You'd like to have accounting
statistics of your Internet connection. Or you want to have a comfortable
possibility of watching other SNMP variables.
If HP OpenView or a similar program does this for you, stop reading
here: You have something far better. If not, read on ...
The SNMP::Monitor package and its frontend 'snmpmon' allow you
to
- add or delete routers from or to a set of managed routers
- start a permanently running monitor that is watching your
interfaces and can do logging into a database
- display a graphical view of the interface utilization
via the WWW
- show interface statistics
- includes an access control system that restricts these
information to given users based on interface and/or
host
The main differences between SNMP::Monitor and packages like MRTG are:
- SNMP::Monitor is a general purpose framework; you can easily
add arbitrary SNMP variables and related triggers
- A database engine is used for logging; thus SNMP::Monitor
can easily give any kind of accounting report that you like.
If you'd like to see a running example, visit
http://www.zvw.de/snmpmon_public
2.) Prerequisites
Lots of. :-) First of all, some external binaries are required:
- GNUplot 3.6beta or later is used for creating GIF images;
if you don't have GNUplot, you can still use the SNMP
monitor, but no graphical view is available. See
ftp://cmpc1.phys.soton.ac.uk/pub/
or
http://science.nas.nasa.gov/~woo/gnuplot/beta
- The ppmtogif program, available as part of the netpbm
package or as part of the libgr distribution. Sorry,
I have no information for obtaining one of these
packages available right now, except that libgr is part
of my Red Hat Linux distribution. :-)
- The SNMP client libraries from the UCD snmp distribution,
see
ftp://ftp.ece.ucdavis.edu:/pub/snmp
Note, that you don't need a running server, the libraries
and header files are completely sufficient.
Perhaps the CMU package or Juergen Schoenwaelder's version
will do, I did not try. In this case you might need an
older version of the SNMP module too, see below.
- MySQL or another database engine with a DBI (Database
independent interface for Perl 5) driver
- Some other Perl modules:
Data-Dumper, version 2.081 or later
SNMP, version 1.8a1 or later
MailTools, version 1.11 or later
IO-stringy, version 1.203 or later
HTML::EP, version 0.1005 or later
Msql-Mysql-modules, 1.1832 or later (or perhaps your
database engines driver)
Missing Perl modules are available from
ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module
See Installation below for how to install a Perl module
3.) Installation
First you install the Perl modules. For example the Data::Dumper
module is installed as follows:
gzip -cd Data-Dumper-2.081.tar.gz | tar xf -
cd Data-Dumper-2.081
perl Makefile.PL
make
make test
su -c "make install"
Installing the SNMP::Monitor package is just as simple. You will
be prompted a lot of questions that should hopefully be self
explaining. I hope the defaults are fine.
For installing the HTML pages, see the docs of the HTML::EP module
by doing a
perldoc HTML::EP
this should tell you how to configure your WWW server for feeding
files with the extension .ep into the HTML::EP system. To verify
the installation, create a file like
print "content-type: text/plain\n\n";
print "It worked! Your EP system is up and running.\n";
and point your browser to the appropriate location (note: Don't use
a location like file://..., but http://...!). You should neither see the
C nor the C instructions.
After this is done, select a password protected directory and put
the files from the "html" directory into it. That's all.
You might start the "snmpmon" utility when the system comes up.
See "Starting the monitor" and "Stopping the monitor" below for
instructions what to perform when booting or shutting down.
Finally you should manually edit the configuration file. This is
by default located in
/etc/snmpmon/configuration
but you might have choosen another location while installing the
module. Note that what you are editing is Perl source! You are
bound to the restrictions and you have all the power of Perl in
this file. However, when done editing, do yourself a favour and
check, whether you have created correct Perl code again by doing
a
perl -e 'require "/etc/snmpmon/configuration"; print "ok\n"'
For a detailed description of the configuration file, see
perldoc SNMP::Monitor::Install
4.) Adding routers
While installing the SNMP::Monitor package, a file like
"/etc/snmpmon/configuration" should have been created for you.
Typically it includes one router. Of course you are by no means
restricted to a single router: You can add more routers at any
time by doing a
snmpmon --add
5.) Removing routers
When playing with the configuration file, you might need to remove
a router. This can be done with
snmpmon --remove
6.) Starting the monitor
Once you have initialized the system, try a
snmpmon --start
or
snmpmon start
If something goes wrong, you should receive an email that tells
you an error message.
7.) Shutting down the monitor
When the system is shutting down, you can do a
snmpmon --stop
or
snmpmon stop
Note, that no accounting information is created in that time!
8.) Author and Copyright
This program is
Copyright (C) 1998 Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Germany
Phone: +49 7123 14887
Email: joe@ispsoft.de
All rights reserved.
You may distribute this module under the terms of either the GNU
General Public License or the Artistic License, as specified in
the Perl README file.
9. See also
the SNMP::Monitor(3) manpage, the snmpmon(1) manpage, the
SNMP(3) manpage