# Man page for check_hp_bladechassis

# Man page created with:
#
#  pod2man -s 3pm -r "`./check_hp_bladechassis -V | head -n 1`" -c 'Nagios plugin' check_hp_bladechassis.pod check_hp_bladechassis.3pm
#


=head1 NAME

check_hp_bladechassis - Nagios plugin for checking the status of HP
blade enclosures via SNMP

=head1 SYNOPSIS

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

=head1 DESCRIPTION

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.

=head1 COMMON OPTIONS

=over 4

=item -H, --hostname I<HOSTNAME>

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

=item -C, --community I<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 C<public> if the option is not present.

=item -p, --perfdata

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

=item -t, --timeout I<SECONDS>

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

=item -i, --info

Prefix any alerts with the enclosure serial number.

=item -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.

=item -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.

=item -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.

=item --short-state

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

=item -d, --debug

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

=item -h, --help

Display help text.

=item -V, --version

Display version info.

=back

=head1 ADVANCED OPTIONS

=over 4

=item -P, --protocol I<PROTOCOL>

SNMP protocol version. This option is optional and expects a digit
(i.e.  C<1>, C<2> or C<3>) to define the SNMP version. The default is
C<2>, i.e. SNMP version 2c.

=item --port I<PORT>

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

=item -U, --username I<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.

=item --authpassword I<PASSWORD>, --authkey I<KEY>

[SNMPv3] By default a securityLevel of C<noAuthNoPriv> is assumed.  If
the --authpassword option is specified, the securityLevel becomes
C<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
C<snmpkey> utility included with the Net::SNMP distribution can be
used to create the hexadecimal string (see L<snmpkey>).

=item --authprotocol I<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 C<MD5> (RFC 1321) and HMAC-SHA-96 C<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 C<md5> or C<sha> to be passed as argument to modify
the hash algorithm.

=item --privpassword I<PASSWORD>, --privkey I<KEY>

[SNMPv3] By specifying the options --privkey or --privpassword, the
securityLevel associated with the object becomes
C<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.

=item --privprotocol I<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 C<DES> (NIST FIPS PUB 46-1), is used by default or if the
string C<des> is passed to the --privprotocol option. The Net::SNMP
module also supports RFC 3826 which describes the use of
CFB128-AES-128 C<AES> (NIST FIPS PUB 197) in the USM.  The AES
encryption protocol can be selected by passing C<aes> or C<aes128> to
the --privprotocol option.

One of the following arguments are required: des, aes, aes128, 3des,
3desde

=item --linebreak=I<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:

=over 4

=item B<REG>

Regular linebreaks, i.e. "\n".

=item B<HTML>

HTML linebreaks, i.e. "<br/>".

=back

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


=head1 DIAGNOSTICS

The option C<--debug> (or C<-d>) can be specified to display status
of all components.

=head1 DEPENDENCIES

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

=head1 EXIT STATUS

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.

=head1 AUTHOR

Written by Trond H. Amundsen <t.h.amundsen@usit.uio.no>

=head1 BUGS AND LIMITATIONS

None known at present.

=head1 INCOMPATIBILITIES

None known at present.

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

=head1 REPORTING BUGS

Report bugs to <t.h.amundsen@usit.uio.no>

=head1 LICENSE AND COPYRIGHT

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 L<http://www.gnu.org/licenses/>.

=head1 SEE ALSO

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

=cut
