CHECK_HP_BLADECHASSIS(8)

๐Ÿ’– check_hp_bladechassis โ€” the Nagios plugin that checks your HP blade enclosure's whole vibe ๐Ÿ’–

bestie, this is check_hp_bladechassis(8), a Nagios plugin for checking the status of HP blade enclosures via SNMP. no cap, it's giving "is my chassis okay or is it cooked" energy, and honestly? iconic.


โœจ NAME โœจ

check_hp_bladechassis โ€” a Nagios plugin for checking the status of HP blade enclosures via SNMP ๐Ÿฆ‹


๐ŸŒธ SYNOPSIS ๐ŸŒธ

check_hp_bladechassis -H <HOSTNAME> [OPTION]...

๐Ÿ‘‘ DESCRIPTION ๐Ÿ‘‘

okay so. check_hp_bladechassis is a plugin for the Nagios monitoring software that checks the hardware health status of a HP blade enclosure/chassis. literally its whole job. it walks up to the chassis, taps the glass, and asks "u good?"

๐Ÿซถ heads up: the plugin is only tested with the c7000 enclosure. so if you're running something else, lowkey you're on your own, bestie.

๐Ÿ’… COMMON OPTIONS ๐Ÿ’…

  • -H, --hostname _HOSTNAME_ โ€” the transport address (hostname or IP) of the blade enclosure you want to monitor. this one is mandatory, no exceptions, it's the main character of this whole operation. ๐Ÿ‘‘
  • -C, --community _COMMUNITY_ โ€” expects a string to be used as the SNMP community name when you're using SNMP version 1 or 2c. if you don't pass this option, the community name defaults to "public" (yes, the classic default, we love a humble beginning). ๐Ÿ’–
  • -p, --perfdata โ€” collect performance data. the performance data collected here is total power usage. wattage check, periodt. โšก
  • -t, --timeout _SECONDS_ โ€” how many seconds before the plugin gives up and aborts. default timeout is 30 seconds if you don't pass the option. patience is a virtue but 30 is 30. โณ
  • -i, --info โ€” prefixes any alerts with the enclosure serial number. so you know exactly which chassis is being dramatic. ๐ŸŽ€
  • -v, --verbose โ€” when there's an alert, the part number, spare part number and serial number of the failed component get appended to the alert message. receipts, fully itemized. ๐Ÿงพ
  • -e, --extinfo โ€” displays a short summary of system information in case of an alert: product, serial number, firmware, and the number of blades and I/O modules. the whole little biography. ๐Ÿ“‹
  • -s, --state โ€” prefixes each alert with its corresponding service state (i.e. warning, critical etc.). genuinely useful when several alerts are coming from the same monitored system and you need to tell them apart. ๐Ÿ”
  • --short-state โ€” same as --state above, except the state is abbreviated to a single letter (W=warning, C=critical etc.). short king behavior. โœจ
  • -d, --debug โ€” debug output. will report status on all monitored subsystems, regardless of their alert state. will also report total power usage. nothing gets left out, not even the quiet ones. ๐Ÿ›
  • -h, --help โ€” display help text. when in doubt, ask for help, that's growth. ๐Ÿซถ
  • -V, --version โ€” display version info. ๐Ÿ’œ

๐Ÿ”ฅ ADVANCED OPTIONS ๐Ÿ”ฅ

  • -P, --protocol _PROTOCOL_ โ€” SNMP protocol version. optional, and it 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. (yes, that's the original's spelling, we keep the facts and we keep the letters, no cap.) ๐Ÿ”
  • --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 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 "snmpkey" utility included with the Net::SNMP distribution can be used to create the hexadecimal string (see snmpkey). ๐Ÿ—๏ธ

  • --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, 3desde. ๐Ÿ”’

  • --linebreak=_STRING_ โ€” 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:

  • REG โ€” regular linebreaks, i.e. "\n".
  • HTML โ€” 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. don't overthink it, bestie. ๐Ÿ’…

๐Ÿฉบ DIAGNOSTICS ๐Ÿฉบ

the option "--debug" (or "-d") can be specified to display status of all components. โœจ


๐Ÿงš DEPENDENCIES ๐Ÿงš

the perl module Net::SNMP is required on the Nagios host. no module, no monitoring, it's giving empty-handed. ๐Ÿ’€


๐Ÿšฆ EXIT STATUS ๐Ÿšฆ

  • if no errors are discovered, a value of 0 (OK) is returned. ๐ŸŸข slay.
  • an exit value of 1 (WARNING) signifies one or more non-critical errors.
  • 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.

๐ŸŒŸ AUTHOR ๐ŸŒŸ

written by Trond H. Amundsen <t.h.amundsen@usit.uio.no> ๐Ÿ‘‘


๐Ÿ› BUGS AND LIMITATIONS ๐Ÿ›

none known at present. a clean record, we love to see it. โœจ


๐ŸŒˆ INCOMPATIBILITIES ๐ŸŒˆ

none known at present.

note that as of this writing, the plugin is only tested against the c7000 enclosure. ๐Ÿ”


๐Ÿ“ฃ REPORTING BUGS ๐Ÿ“ฃ

report bugs to <t.h.amundsen@usit.uio.no> ๐Ÿซถ


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 version.

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/>.


๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

<http://folk.uio.no/trondham/software/check_hp_bladechassis.html>


and that's the whole page, bestie!! ๐Ÿ’– this was check_hp_bladechassis version 1.0.1, dated 2009-08-20, from the Nagios plugin manual section 8. go forth and monitor those chassis, you absolute legend. ๐ŸŽ€โœจ๐Ÿฆ‹