Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Check Cisco Catalyst
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 is a script to monitor Cisco Catalyst switches via SNMP.
It will do the following Following:
* Temperature
* Fan Fail
* Power Supply Fail
* CPU Load
* Memory
* Module Health
* Free eth interfaces for X days
* Interface Operation Stat
I hope you will find this useful as I did, But I dont guarantee it will work for you
+ Fixed temperature check of certain switches
It will do the following Following:
* Temperature
* Fan Fail
* Power Supply Fail
* CPU Load
* Memory
* Module Health
* Free eth interfaces for X days
* Interface Operation Stat
I hope you will find this useful as I did, But I dont guarantee it will work for you
+ Fixed temperature check of certain switches
Reviews (8)
byWilliam W, March 10, 2017
The script has been running perfectly on several Cisco 3750 for a month.
All that time I have been trying to obtain the same information via SNMP from a set of Cisco ESW520 switches, with no success. All interfaces have the same name "Ethernet Interface" and the script returns "Remote device does not return data for XX" when asking for PS, CPU or memory.
Any clue on how to obtain information in Nagios from a ESW520? The command snmpget -v 2c -c CCC IP 1.3.6.1.2.1.2.2.1.8.51 will return the required info, but I don't know how to include that in Nagios.
All that time I have been trying to obtain the same information via SNMP from a set of Cisco ESW520 switches, with no success. All interfaces have the same name "Ethernet Interface" and the script returns "Remote device does not return data for XX" when asking for PS, CPU or memory.
Any clue on how to obtain information in Nagios from a ESW520? The command snmpget -v 2c -c CCC IP 1.3.6.1.2.1.2.2.1.8.51 will return the required info, but I don't know how to include that in Nagios.
byj2dapo, July 21, 2015
Works well with:
routers 19xx
routers 29xx - failure on installed redundant PS not failed PS.
Catalyst 3650
Catalyst 4500 - reports fan/PS failure on PS 2 on stack (results in PS/Fan failure)
Router ISR44xx - reports device can't report temp.
vencapany: memory is free so critical should be less than warning. i.e. 20 free vs 10 free.
routers 19xx
routers 29xx - failure on installed redundant PS not failed PS.
Catalyst 3650
Catalyst 4500 - reports fan/PS failure on PS 2 on stack (results in PS/Fan failure)
Router ISR44xx - reports device can't report temp.
vencapany: memory is free so critical should be less than warning. i.e. 20 free vs 10 free.
byvencapany, June 1, 2015
Hi,
this plugin is amazing and working well! But I have one problem. When I give this command:
./check_cisco_status.pl -H 192.168.1.2 -C public -t mem -w 10 -c 20
Plugin return:
Warning can't be smaller then Critical: 10
this plugin is amazing and working well! But I have one problem. When I give this command:
./check_cisco_status.pl -H 192.168.1.2 -C public -t mem -w 10 -c 20
Plugin return:
Warning can't be smaller then Critical: 10
byarmandelli, July 12, 2013
Very easy to use, worked right away on an OSSIM box. Does everything it says and the syntax is simple, no need for running after OIDs just to know the CPU Usage and other simple hardware information... Excellent!
byregisu, May 14, 2013
Hello,
Thank you for this excellent plugin!
I only saw one problem with counting free memory percentage for values like 800KB or something less. I think that you need to change Bytes to Mega Bytes after calculating percentage value.
So I moved line:
my $mem_free_perc = int(($mem_free / $mem_total) * 100);
above:
$mem_used = int($mem_used / 1024 / 1024);
$mem_free = int($mem_free / 1024 / 1024);
$mem_total = int($mem_total / 1024 / 1024);
And now it works perfect!
Thank you for this excellent plugin!
I only saw one problem with counting free memory percentage for values like 800KB or something less. I think that you need to change Bytes to Mega Bytes after calculating percentage value.
So I moved line:
my $mem_free_perc = int(($mem_free / $mem_total) * 100);
above:
$mem_used = int($mem_used / 1024 / 1024);
$mem_free = int($mem_free / 1024 / 1024);
$mem_total = int($mem_total / 1024 / 1024);
And now it works perfect!
bychinnappan, September 25, 2012
Please Posted the command.cfg and service sample file with diffrent SNMP community pls
Using this plugin, i am able to monitor all the required STATE of cisco router & switches. Simply superb.
I have modify some of rows
if("$check_type" ne "temp") {
if($warn > $crit and "$check_type" ne "freeint" and "$check_type" ne "mem") {
print "Warning can't be larger then Critical: $warn > $crit\n";
FSyntaxError();
} elsif($warn ritical: $warn = $warn) {
$stat = 0;
$msg = "Memory: OK - Free Memory $mem_free_prec%";
} elsif($mem_free_prec $crit) {
$stat = 1;
$msg = "Memory: Warn - Free Memory $mem_free_prec %";
} elsif($mem_free_prec ing for
free memory perc !please valide the change
if("$check_type" ne "temp") {
if($warn > $crit and "$check_type" ne "freeint" and "$check_type" ne "mem") {
print "Warning can't be larger then Critical: $warn > $crit\n";
FSyntaxError();
} elsif($warn ritical: $warn = $warn) {
$stat = 0;
$msg = "Memory: OK - Free Memory $mem_free_prec%";
} elsif($mem_free_prec $crit) {
$stat = 1;
$msg = "Memory: Warn - Free Memory $mem_free_prec %";
} elsif($mem_free_prec ing for
free memory perc !please valide the change
Owner's reply
I've corrected this issue =)