Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_eigrp
0.93
2014-02-12
- Nagios 2.x
- Nagios 3.x
GPL
30213
File | Description |
---|---|
nagios-plugins-eigrp.x86_64.rpm | x86_64 rpm package for CentOS/RedHat systems |
nagios-plugins-eigrp.i686.rpm | x32 rpm package for CentOS/RedHat systems |
nagios-plugins-eigrp_0.93_amd64.deb | amd64 debian package |
nagios-plugins-eigrp_0.93_i386.deb | x32 debian package |
check_eigrp-0.93.tar.gz | tarball for compilation "./configure && make && make install" |
check_eigrp.pl | Perl implementation of plugin |
check_eigrp.x86_64.tar.gz | x64 tarball |
check_eigrp.i686.tar.gz | x32 tarball |
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
This C implementation of plugin works much faster than scripting languages analogues (perl or bash). IT checks operation of the EIGRP protocol and displays a list of current neighbors.
Plugin returns standard exit codes for nagios:
CRITICAL if router has lost neighbors;
WARNING if number of neighbors has changed;
OK if number of neighbors matches to the given "-n" value;
UNKNOWN if some errors occur in SNMP protocol.
Plugin requires net-snmp-libs to be installed. This problem is solved automaticaly if u install plugin from rpm (yum localinstall nagios-plugins-eigrp). In this case plugin also will be installed in standart for this OS location:
/usr/lib64/nagios/plugins
or
/usr/lib/nagios/plugins.
Inside arch depended tarball packages there is only compiled executable file. You should copy them in nagios plugins folder for use.
Inside check_eigrp tarball package autotools generated package for compilation under some other arch. I use them for compile plugin under FreeBSD Sparc64 processor (SunFire v120 server). You can use "./configure && make && make install" sequence for plugin installation.
Full usage options are:
Usage:
check_eigrp -H hostipaddress -n neighbors -a EIGRP AS number
[-C community] [-v]
Options:
-h,--help
Show this help message;
-V,--version
print the version of plugin;
-H,--hostname=ADDRESS
specify the hostname of router,
you can specify a port number by this notation:"ADDRESS:PORT"
-C,--community=STRING
specify the SNMP community of router;
-a,--asnumber=INTEGER
specify the EIGRP AS number of router;
-n,--neighbors=INTEGER
specify the neighbors count of router;
-t,--timeout=INTEGER
specify the timeout of plugin,
default is 3 sec, max 60 sec;
-v,--verbose
specify this key if you need to get a
list of neighbors (disabled by default).
The output of list of neighbors is disabled by default (to increase performance), you can enable this by specify -v switch to verbose output. You can see small eigrp neighbors table with interfaces through which are available neighbors.
[user@II ~]$ /tmp/check_eigrp --hostname 192.168.1.100 --community public --neighbors 5 --asnumber 1 --verbose
OK: Neighbors count is 5 |
1: 192.168.50.210 "GigabitEthernet0/0.84"
2: 192.168.50.209 "GigabitEthernet0/0.84"
3: 192.168.11.10 "GigabitEthernet0/1"
4: 172.18.4.250 "Tunnel1"
5: 172.18.4.254 "Tunnel0"
In old Cisco IOS versions (15.2 or less) the neigbors ip's has present as hex string. In new versions it presents as regular ip address. The plugin performs checks and formats the output in the correct format depending on the Cisco IOS version number.
In some case u can use Perl implementation of plugin. For example, if the performance isn't too important for you. But this implementation does not check IOS version and only convert hex string from old IOS version (15.2 or less) to regular IP address. Script requires perl SNMP libs to be installed.
*UPD: Fixed bug with very small timeout. Added the "-t" switch to specify the value in seconds (3 sec by default). Plugin will try to connect 3 times during this interval.
*UPD: Added SIGALRM handler to force exit if timeout exceeded (see https://www.monitoring-plugins.org/doc/guidelines.html#AEN296).
*UPD: Added tarball for compilation
*UPD: Change the command-line arguments
*UPD: I removed the init_snmp call, because plugin don't need to parse configuration files and MIBs. It is twice increased performance.
*UPD: Added func for SNMP error handling for disable "No error handler" message
You can troll my code on github:
https://github.com/ITD27M01/scripts/blob/master/nagios/check_eigrp.c
https://github.com/ITD27M01/scripts/blob/master/nagios/check_eigrp.pl
Plugin returns standard exit codes for nagios:
CRITICAL if router has lost neighbors;
WARNING if number of neighbors has changed;
OK if number of neighbors matches to the given "-n" value;
UNKNOWN if some errors occur in SNMP protocol.
Plugin requires net-snmp-libs to be installed. This problem is solved automaticaly if u install plugin from rpm (yum localinstall nagios-plugins-eigrp). In this case plugin also will be installed in standart for this OS location:
/usr/lib64/nagios/plugins
or
/usr/lib/nagios/plugins.
Inside arch depended tarball packages there is only compiled executable file. You should copy them in nagios plugins folder for use.
Inside check_eigrp tarball package autotools generated package for compilation under some other arch. I use them for compile plugin under FreeBSD Sparc64 processor (SunFire v120 server). You can use "./configure && make && make install" sequence for plugin installation.
Full usage options are:
Usage:
check_eigrp -H hostipaddress -n neighbors -a EIGRP AS number
[-C community] [-v]
Options:
-h,--help
Show this help message;
-V,--version
print the version of plugin;
-H,--hostname=ADDRESS
specify the hostname of router,
you can specify a port number by this notation:"ADDRESS:PORT"
-C,--community=STRING
specify the SNMP community of router;
-a,--asnumber=INTEGER
specify the EIGRP AS number of router;
-n,--neighbors=INTEGER
specify the neighbors count of router;
-t,--timeout=INTEGER
specify the timeout of plugin,
default is 3 sec, max 60 sec;
-v,--verbose
specify this key if you need to get a
list of neighbors (disabled by default).
The output of list of neighbors is disabled by default (to increase performance), you can enable this by specify -v switch to verbose output. You can see small eigrp neighbors table with interfaces through which are available neighbors.
[user@II ~]$ /tmp/check_eigrp --hostname 192.168.1.100 --community public --neighbors 5 --asnumber 1 --verbose
OK: Neighbors count is 5 |
1: 192.168.50.210 "GigabitEthernet0/0.84"
2: 192.168.50.209 "GigabitEthernet0/0.84"
3: 192.168.11.10 "GigabitEthernet0/1"
4: 172.18.4.250 "Tunnel1"
5: 172.18.4.254 "Tunnel0"
In old Cisco IOS versions (15.2 or less) the neigbors ip's has present as hex string. In new versions it presents as regular ip address. The plugin performs checks and formats the output in the correct format depending on the Cisco IOS version number.
In some case u can use Perl implementation of plugin. For example, if the performance isn't too important for you. But this implementation does not check IOS version and only convert hex string from old IOS version (15.2 or less) to regular IP address. Script requires perl SNMP libs to be installed.
*UPD: Fixed bug with very small timeout. Added the "-t" switch to specify the value in seconds (3 sec by default). Plugin will try to connect 3 times during this interval.
*UPD: Added SIGALRM handler to force exit if timeout exceeded (see https://www.monitoring-plugins.org/doc/guidelines.html#AEN296).
*UPD: Added tarball for compilation
*UPD: Change the command-line arguments
*UPD: I removed the init_snmp call, because plugin don't need to parse configuration files and MIBs. It is twice increased performance.
*UPD: Added func for SNMP error handling for disable "No error handler" message
You can troll my code on github:
https://github.com/ITD27M01/scripts/blob/master/nagios/check_eigrp.c
https://github.com/ITD27M01/scripts/blob/master/nagios/check_eigrp.pl
Reviews (0)
Be the first to review this listing!