Home Directory Plugins Hardware Server Hardware IBM check_ibm_bladecenter.py

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com


Remember Me

Directory Tree


6 votes
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
This script will check the status of a remote IBM Bladecenter via SNMP.
Among other things the following are monitored:

* General Health
* Powermodule status
* Temperature
* Blade health
* Switchmodule Health
* Management Module health
* Blowers
* Chassis Sensors
Make sure to check out project homepage at: http://opensource.is/trac/wiki/check_ibm_bladecenter
Reviews (5)
byGHRMSA, May 16, 2019
Follows a fan failure on one of our BladeCenter in our hospital. I corrected the bug that indicates OK status despite one of the failed fans on both. Since this is a major issue on a BladeCenter, I removed the warning state to go directly to critical.

For that I control the state returned for the fan "blower1state and blower2state and I add in addition a condition for which the fan must have a speed of rotation different from 0%:
and blower1speed != "0% of maximum":

def check_blowers():
" Check blower status "
blowers = getTable("")
# This mib only seems to support 2 blowers.
blower1speed = snmpget("")
blower1state = snmpget("")

blower2speed = snmpget("")
blower2state = snmpget("")

add_long( "Blower 1 state=%s speed=%s" % (blower1state,blower1speed) )
add_long( "Blower 2 state=%s speed=%s" % (blower2state,blower2speed) )
add_perfdata("blower1=%s" %(blower1speed.split(None,1)[0] ))
add_perfdata("blower2=%s" %(blower2speed.split(None,1)[0] ))
# Check blower 1
if blower1state == "1" and blower1speed != "0% of maximum":
add_summary("Ventilateur 1 OK. " )
add_summary("Ventilateur 1 KO. ")

# Check blower 2
if blower2state == "1" and blower2speed != "0% of maximum":
add_summary("Ventilateur 2 OK. " )
add_summary("Ventilateur 2 KO. ")
bymaxx_s, February 11, 2014
Thank you for plugin!
I allowed myself to make some improvements.

Diff below

1 - Adding option for crypto protocol in snmpv3

> parser.add_option("-a","--snmp_protocol", dest="snmp_protocol",
> help="SNMP protocol (only with SNMP v3)", default=None)
> parser.add_option("-X","--snmp_passphrase", dest="snmp_passphrase",
> help="SNMP passphrase (only with SNMP v3)", default=None)
> parser.add_option("-x","--snmp_privproto", dest="snmp_privproto",
> help="SNMP privproto (only with SNMP v3)", default=None)
snmp_options = snmp_options + " -u %s -l %s -A %s -a %s -X %s -x %s " % (opts.snmp_username,opts.snmp_seclevel,opts.snmp_password,opts.snmp_protocol,opts.snmp_passphrase,opts.snmp_privproto)

2 - Option exclude now may be a list( -e [2,3,4]) usefull for powermodules check

if myIndex in opts.exclude: continue
Thanks for the nice plugin. A few tweaks would be great:
1. Use standard Nagios warning/critical thresholds
a. ex: check_ibm_bladecenter -H mychassisIP -C public -m powermodules -w 4: -c 3:
b. The above check returns an error, and even when a single digit (i.e. -c 4) is supplied, it doesn't seem to affect the status. In my environment, 2 power supplies are redundant so I would like to get a warning if 1 drops (4 p/s = OK, 3 p/s = WARNING, 2 p/s = CRITICAL)
2. -m blowers returns first blower twice in status but shows correctly in perfdata
a. OK - Blower1 OK. Blower1 OK. | blower1=60% blower2=61%
Nothing to blame, works fine with our Blade-Center
and all the features are available.
bysixarm, April 19, 2012
1 of 1 people found this review helpful
The checks work well, however the blower one doesn't report correctly into Nagios. I've not had a chance to test all of the others.

I was doing some troubleshooting on one of the blowers and as a result I had to power it off. The --mode blowers came back with the following...

OK - Blower1 OK. Blower1 OK. | blower1=81% blower2=0%

Blower 1 state=1 speed=81% of maximum
Blower 2 state=1 speed=0% of maximum

...however in Nagios everything appears as OK.

The temperature check works well with the warning and critical values.

A tweak to sort out the above would be amazing!