Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_ibm_bladecenter.py
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!
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("1.3.6.1.4.1.2.3.51.2.2.3")
# This mib only seems to support 2 blowers.
blower1speed = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.1.0")
blower1state = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.10.0")
blower2speed = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.2.0")
blower2state = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.11.0")
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":
nagios_status(ok)
add_summary("Ventilateur 1 OK. " )
else:
add_summary("Ventilateur 1 KO. ")
nagios_status(critical)
# Check blower 2
if blower2state == "1" and blower2speed != "0% of maximum":
nagios_status(ok)
add_summary("Ventilateur 2 OK. " )
else:
add_summary("Ventilateur 2 KO. ")
nagios_status(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("1.3.6.1.4.1.2.3.51.2.2.3")
# This mib only seems to support 2 blowers.
blower1speed = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.1.0")
blower1state = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.10.0")
blower2speed = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.2.0")
blower2state = snmpget("1.3.6.1.4.1.2.3.51.2.2.3.11.0")
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":
nagios_status(ok)
add_summary("Ventilateur 1 OK. " )
else:
add_summary("Ventilateur 1 KO. ")
nagios_status(critical)
# Check blower 2
if blower2state == "1" and blower2speed != "0% of maximum":
nagios_status(ok)
add_summary("Ventilateur 2 OK. " )
else:
add_summary("Ventilateur 2 KO. ")
nagios_status(critical)
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
75a76,81
> 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)
107c113
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
234c240
if myIndex in opts.exclude: continue
I allowed myself to make some improvements.
Diff below
1 - Adding option for crypto protocol in snmpv3
75a76,81
> 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)
107c113
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
234c240
if myIndex in opts.exclude: continue
bywithanhdammit, July 13, 2013
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%
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%
byAhab, April 18, 2013
Nothing to blame, works fine with our Blade-Center
and all the features are available.
good
and all the features are available.
good
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!
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!