116 lines
4.9 KiB
Markdown
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)$'
|