Why not adopt me?
NAME
snmpmon - A daemon for monitoring remote hosts via SNMP
SYNOPSIS
# Add router <name> to the list of items being monitored
snmpmon --add <name> [options]
# Remove router <name> from the list of items being monitored
snmpmon --delete <name> [options]
# List all routers being monitored
snmpmon --list [options]
# Start the monitor;
snmpmon --start [options]
# You might prefer this version for /etc/rc2.d
snmpmon start
# Stop the monitor
snmpmon --stop [options]
# ... and this one for /etc/rc2.d
snmpmon stop
DESCRIPTION
The SNMP monitor is a simple tool for monitoring remote routers via SNMP. Usually it runs in the background, sending SNMP queries to the routers, logging interface loads or taking action upon interface state changes. What the program does, depends on the following command line options:
Adding a router to the list of routers
snmpmon --add <name>
Adds a new machine to the list of routers being monitored. The name is a symbolic name, unique within the list. The program will invoke the SNMP::Monitor::Install::AddRouter method for you which prompts you a lot of questions so that a raw configuration of the monitor can be created.
The router list is stored in the configuration file, ~etc_dir~/configuration.
Removing a router from the list of routers
snmpmon --delete <name>
Removes the machine name from the list of routers in ~etc_dir~/configuration.
Printing a list of all routers
snmpmon --list
This reads a list of all routers from the config file and prints it to STDOUT.
Starting the monitor
snmpmon --start [options]
snmpmon start [options]
This will start a monitor session; you usually do this when the system comes up. Available options are in particular
- --debug
-
Run in debugging mode
- --config <file>
-
Read the monitor configuration from <file>, defaults to
~etcdir~/configuration
. - --facility <f>
-
Use syslog facility <f> for logging messages; this defaults to ~facility~, but you can override it in the config file.
- --nodetach
-
By default the program will detach from the shell and run in the background. However, for debugging purposes it is important to suppress this.
- --pidfile <file>
-
When the program has detached from the shell, it stores it's PID in the given file, by default ~pid_file~ (overridable in the config file).
Stopping the monitor
snmpmon --stop [options]
snmpmon stop [options]
Called for shutting the monitor down. The pidfile is used for guessing the monitor's PID. If such a file doesn't exist or no process with the given PID is available, the program attempt's to find a running monitor by looking into the process list.
FILES
~etc_dir~/configuration The programs config file.
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.
SEE ALSO
SNMP::Monitor(3), SNMP(3), SNMP::Monitor::Install(3)
EOF
require SNMP::Monitor; my $config = SNMP::Monitor->Configuration('configuration');
require Config; $config->{'startperl'} = $Config::Config{'startperl'}; $config->{'startperl'} = $Config::Config{'startperl'}; # Make -w happy ...
$script =~ s/\~(\w+)\~/$config->{$1}/eg;
if (!open(FILE, ">snmpmon") || !print FILE ($script) || !close(FILE)) { die "Error while writing snmpmon script: $!"; }