monitoring-plugins-cyconet/check_interfaces/check_interfaces-1.4/README.md

116 lines
4.9 KiB
Markdown

check_interfaces
================
This plugin uses the bulk-get mode of SNMPv2 by default - pass it the option -m NONBULK to work with SNMPv1. Support for SNMPv3 with and without privacy is included.
64 bit counters will be used if they are supported by the device.
### Installation
In order to compile this plugin you will need the `NET SNMP Development` package
(libsnmp-dev under Debian) as well as `autoconf` and the standard compilation tools.
Download and extract the tarball from https://www.netways.org/projects/check-interfaces/files
autoconf (only needed if the configure script has not been created)
./configure
Running "make" should successfully compile the plugin, and "make install" will install them under
the configured path.
make
make install
### Usage
(see also check_interface --help)
check_interface -c public -h 192.168.0.1 -r 'FastEth' -p '$SERVICEPERFDATA$' -t $LASTSERVICECHECK$ -a
Options;
-h address of device
-c|--community community (default public)
-r|--regex interface list regexp
Regex to match interfaces (important, this is a Regular Expression
not a simple wildcard string, see below)
-e|--errors number of in errors (CRC errors for cisco) to consider a warning (default 50)
Only warn if errors increase by more than this amount between checks
-f|--out-errors number of out errors (collisions for cisco) to consider a warning
Defaults to the same value as for errors
-p|--perfdata last check perfdata
Performance data from previous check (used to calculate traffic)
-P|--prefix prefix interface names with this label
-t|--lastcheck last checktime (unixtime)
Last service check time in unixtime (also used to calculate traffic)
-b|--bandwidth bandwidth warn level in %
-s|--speed override speed detection with this value (bits per sec)
-x|--trim cut this number of characters from the start of interface descriptions
Useful for nortel switches
-j|--auth-proto SNMPv3 Auth Protocol (SHA|MD5)
-J|--auth-phrase SNMPv3 Auth Phrase
-k|--priv-proto SNMPv3 Privacy Protocol (AES|DES) (optional)
-K|--priv-phrase SNMPv3 Privacy Phrase
-u|--user SNMPv3 User
-d|--down-is-ok disables critical alerts for down interfaces
i.e do not consider a down interface to be critical
-a|--aliases retrieves the interface description
This alias does not always deliver useful information
-A|--match-aliases also test the Alias against the Regexes
-D|--debug-print list administrative down interfaces in perfdata
-N|--if-names use ifName instead of ifDescr
--timeout sets the SNMP timeout (in ms)
-m|--mode special operating mode (default,cisco,nonbulk,bintec)
Workarounds for various hardware
### Modes
default use SNMPv2 bulk-gets to retrieve the interface list (recommended for devices with many interfaces)
cisco retrieve CRC errors and collisions instead of in errors and out errors
bintec work with non-RFC Bintec devices
nonbulk use a traditional tree-walk and SNMPv1 instead of bulk-gets (less efficient, but works with most devices)
### Counter Overflows
The plugin will query the uptime of the device and compensate for counter overflows.
Note however that a 1Gbit interface with a 32 bit counter will overflow every 34 seconds
if the interface is operating at full capacity - in this case you will need to query the
device at least once a minute. With 64 bit counters these problems go away.
Also be aware that the counter values themselves are passed unaltered in the performance
data field - if you graph the data then the grapher also needs to be overflow aware.
### Large Plugin Output
Be aware that this plugin may generate large outputs. Your version of Nagios / Icinga may cut off the output and cause you problems with various graphing tools; for best results restrict the list of interfaces using the -r option
### Regular Expressions
The following patterns can be used to match strings
. anything
^ beginning of string
$ end of string (WARNING: you need to use $$ in a Nagios configuration file!)
(abc|def) either abc or def
[0-9a-z] a range
* the previous pattern multiple times
Examples;
Eth match any strings containing "Eth"
^FastEth match any strings beginning with "FastEth"
Eth(0|2)$ match Eth0 or Eth2
Eth(0|2) as above but would also match Eth20, Eth21, Eth22 etc
If unsure of a pattern, you should test it on the command line thus;
check_interface -c public -h 192.168.0.1 -r 'Eth(0|2)$'