check_hp_bladechassis - Nagios plugin for checking the status of HP blade
enclosures via SNMP
check_hp_bladechassis -H < HOSTNAME
check_hp_bladechassis is a plugin for the Nagios monitoring software that checks
the hardware health status of a HP blade enclosure/chassis. The plugin is only
tested with the c7000 enclosure.
- -H, --hostname HOSTNAME
- The transport address (hostname or IP) of the blade
enclosure you want to monitor. This option is mandatory.
- -C, --community COMMUNITY
- This option expects a string that is to be used as the SNMP
community name when using SNMP version 1 or 2c. By default the community
name is set to "public" if the option is not present.
- -p, --perfdata
- Collect performance data. Performance data collected is
total power usage.
- -t, --timeout SECONDS
- 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
- -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
- -h, --help
- Display help text.
- -V, --version
- Display version info.
- -P, --protocol PROTOCOL
- SNMP protocol version. This option is optional and expects
a digit (i.e. 1, 2 or 3) to define the SNMP version. The default is 2,
i.e. SNMP version 2c.
- --port PORT
- SNMP port of the remote (monitored) system. Defaults to the
well-known SNMP port 161.
- -U, --username SECURITYNAME
- [SNMPv3] The User-based Security Model (USM) used by SNMPv3
requires that a securityName be specified. This option is required when
using SNMP version 3, and expects a string 1 to 32 octets in lenght.
- --authpassword PASSWORD, --authkey KEY
- [SNMPv3] By default a securityLevel of
"noAuthNoPriv" is assumed. If the --authpassword option is
specified, the securityLevel becomes "authNoPriv". The
--authpassword option expects a string which is at least 1 octet in length
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 "snmpkey" utility included with the
Net::SNMP distribution can be used to create the hexadecimal string (see
- --authprotocol ALGORITHM
- [SNMPv3] Two different hash algorithms are defined by
SNMPv3 which can be used by the Security Model for authentication. These
algorithms are HMAC-MD5-96 "MD5" (RFC 1321) and HMAC-SHA-96
"SHA-1" (NIST FIPS PUB 180-1). The default algorithm used by the
plugin is HMAC-MD5-96. This behavior can be changed by using this option.
The option expects either the string "md5" or "sha" to
be passed as argument to modify the hash algorithm.
- --privpassword PASSWORD, --privkey KEY
- [SNMPv3] By specifying the options --privkey or
--privpassword, the securityLevel associated with the object becomes
"authPriv". 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 ALGORITHM
- [SNMPv3] The User-based Security Model described in RFC
3414 defines a single encryption protocol to be used for privacy. This
protocol, CBC-DES "DES" (NIST FIPS PUB 46-1), is used by default
or if the string "des" is passed to the --privprotocol option.
The Net::SNMP module also supports RFC 3826 which describes the use of
CFB128-AES-128 "AES" (NIST FIPS PUB 197) in the USM. The AES
encryption protocol can be selected by passing "aes" or
"aes128" to the --privprotocol option.
One of the following arguments are required: des, aes, aes128, 3des,
- check_hp_bladechassis will sometimes report more than one
line, e.g. if there are several alerts. If the script has a TTY, it will
use regular linebreaks. If not (which is the case with NRPE) it will use
HTML 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. "\n".
- HTML linebreaks, i.e. "<br/>".
This is a rather special option that is normally not needed. The default
behaviour should be sufficient for most users.
The option "--debug" (or "-d") 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 (OK) is returned. An exit value of 1
(WARNING) signifies one or more non-critical errors, while 2 (CRITICAL)
signifies one or more critical errors.
The exit value 3 (UNKNOWN) is reserved for errors within the script, or errors
getting values via SNMP.
Written by Trond H. Amundsen <email@example.com>
None known at present.
None known at present.
Note that as of this writing, the plugin is only tested against the c7000
Report bugs to <firstname.lastname@example.org>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.