check_hp_bladechassis -H <\s-1HOSTNAME\s0> [\s-1OPTION\s0]...


check_hp_bladechassis is a plugin for the Nagios monitoring software that checks the hardware health status of a \s-1HP\s0 blade enclosure/chassis. The plugin is only tested with the c7000 enclosure.


-H, --hostname \s-1HOSTNAME\s0

The transport address (hostname or \s-1IP\s0) of the blade enclosure you want to monitor. This option is mandatory.

-C, --community \s-1COMMUNITY\s0

This option expects a string that is to be used as the \s-1SNMP\s0 community name when using \s-1SNMP\s0 version 1 or 2c. By default the community name is set to \*(C`public\*(C' if the option is not present.

-p, --perfdata

Collect performance data. Performance data collected is total power usage.

-t, --timeout \s-1SECONDS\s0

The number of seconds after which the plugin will abort. Default timeout is 30 seconds if the option is not present.

-i, --info

Prefix any alerts with the enclosure serial number.

-v, --verbose

In case of an alert, the part number, spare part number and serial number of the failed component is appended to the alert message.

-e, --extinfo

Display a short summary of system information (product, serial number, firmware and the number of blades and I/O modules) in case of an alert.

-s, --state

Prefix each alert with its corresponding service state (i.e. warning, critical etc.). This is useful in case of several alerts from the same monitored system.


Same as the --state option above, except that the state is abbreviated to a single letter (W=warning, C=critical etc.).

-d, --debug

Debug output. Will report status on all monitored subsystems, regardless of their alert state. Will also report total power usage.

-h, --help

Display help text.

-V, --version

Display version info.


-P, --protocol \s-1PROTOCOL\s0

\s-1SNMP\s0 protocol version. This option is optional and expects a digit (i.e. 1, 2 or 3) to define the \s-1SNMP\s0 version. The default is 2, i.e. \s-1SNMP\s0 version 2c.

--port \s-1PORT\s0

\s-1SNMP\s0 port of the remote (monitored) system. Defaults to the well-known \s-1SNMP\s0 port 161.

-U, --username \s-1SECURITYNAME\s0

[SNMPv3] The User-based Security Model (\s-1USM\s0) used by SNMPv3 requires that a securityName be specified. This option is required when using \s-1SNMP\s0 version 3, and expects a string 1 to 32 octets in lenght.

--authpassword \s-1PASSWORD\s0, --authkey \s-1KEY\s0

[SNMPv3] By default a securityLevel of \*(C`noAuthNoPriv\*(C' is assumed. If the --authpassword option is specified, the securityLevel becomes \*(C`authNoPriv\*(C'. The --authpassword option expects a string which is at least 1 octet in length as argument. Optionally, instead of the --authpassword option, the --authkey option can be used so that a plain text password does not have to be specified in a script. The --authkey option expects a hexadecimal string produced by localizing the password with the authoritativeEngineID for the specific destination device. The \*(C`snmpkey\*(C' utility included with the Net::SNMP distribution can be used to create the hexadecimal string (see snmpkey).

--authprotocol \s-1ALGORITHM\s0

[SNMPv3] Two different hash algorithms are defined by SNMPv3 which can be used by the Security Model for authentication. These algorithms are \s-1HMAC-MD5-96\s0 \*(C`MD5\*(C' (\s-1RFC\s0 1321) and \s-1HMAC-SHA-96\s0 \*(C`SHA-1\*(C' (\s-1NIST\s0 \s-1FIPS\s0 \s-1PUB\s0 180-1). The default algorithm used by the plugin is \s-1HMAC-MD5-96\s0. This behavior can be changed by using this option. The option expects either the string \*(C`md5\*(C' or \*(C`sha\*(C' to be passed as argument to modify the hash algorithm.

--privpassword \s-1PASSWORD\s0, --privkey \s-1KEY\s0

[SNMPv3] By specifying the options --privkey or --privpassword, the securityLevel associated with the object becomes \*(C`authPriv\*(C'. According to SNMPv3, privacy requires the use of authentication. Therefore, if either of these two options are present and the --authkey or --authpassword arguments are missing, the creation of the object fails. The --privkey and --privpassword options expect the same input as the --authkey and --authpassword options respectively.

--privprotocol \s-1ALGORITHM\s0

[SNMPv3] The User-based Security Model described in \s-1RFC\s0 3414 defines a single encryption protocol to be used for privacy. This protocol, CBC-DES \*(C`DES\*(C' (\s-1NIST\s0 \s-1FIPS\s0 \s-1PUB\s0 46-1), is used by default or if the string \*(C`des\*(C' is passed to the --privprotocol option. The Net::SNMP module also supports \s-1RFC\s0 3826 which describes the use of \s-1CFB128-AES-128\s0 \*(C`AES\*(C' (\s-1NIST\s0 \s-1FIPS\s0 \s-1PUB\s0 197) in the \s-1USM\s0. The \s-1AES\s0 encryption protocol can be selected by passing \*(C`aes\*(C' or \*(C`aes128\*(C' to the --privprotocol option. One of the following arguments are required: des, aes, aes128, 3des, 3desde


check_hp_bladechassis will sometimes report more than one line, e.g. if there are several alerts. If the script has a \s-1TTY\s0, it will use regular linebreaks. If not (which is the case with \s-1NRPE\s0) it will use \s-1HTML\s0 linebreaks. Sometimes it can be useful to control what the plugin uses as a line separator, and this option provides that control. The argument is the exact string to be used as the line separator. There are two exceptions, i.e. two keywords that translates to the following:


Regular linebreaks, i.e. \*(L"\n\*(R".


\s-1HTML\s0 linebreaks, i.e. \*(L"<br/>\*(R".

This is a rather special option that is normally not needed. The default behaviour should be sufficient for most users.


The option \*(C`--debug\*(C' (or \*(C`-d\*(C') can be specified to display status of all components.


The perl module Net::SNMP is required on the Nagios host.


If no errors are discovered, a value of 0 (\s-1OK\s0) is returned. An exit value of 1 (\s-1WARNING\s0) signifies one or more non-critical errors, while 2 (\s-1CRITICAL\s0) signifies one or more critical errors. The exit value 3 (\s-1UNKNOWN\s0) is reserved for errors within the script, or errors getting values via \s-1SNMP\s0.


Written by Trond H. Amundsen <[email protected]>


None known at present.


None known at present. Note that as of this writing, the plugin is only tested against the c7000 enclosure.


Report bugs to <[email protected]>


This program is free software: you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0 General Public License for more details. You should have received a copy of the \s-1GNU\s0 General Public License along with this program. If not, see <>.

RELATED TO check_hp_bladechassis…