1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# 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]...
=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
The transport address (hostname or IP) of the blade enclosure you want
to monitor. This option is mandatory.
=item -C, --community I
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 if the option is not present.
=item -p, --perfdata
Collect performance data. Performance data collected is total
power usage.
=item -t, --timeout I
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
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
SNMP port of the remote (monitored) system. Defaults to the well-known
SNMP port 161.
=item -U, --username I
[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, --authkey I
[SNMPv3] By default a securityLevel of C is assumed. If
the --authpassword option is specified, the securityLevel becomes
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 utility included with the Net::SNMP distribution can be
used to create the hexadecimal string (see L).
=item --authprotocol I
[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 (RFC 1321) and HMAC-SHA-96 C (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 or C to be passed as argument to modify
the hash algorithm.
=item --privpassword I, --privkey I
[SNMPv3] By specifying the options --privkey or --privpassword, the
securityLevel associated with the object becomes
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.
=item --privprotocol I
[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 (NIST FIPS PUB 46-1), is used by default or if the
string C is passed to the --privprotocol option. The Net::SNMP
module also supports RFC 3826 which describes the use of
CFB128-AES-128 C (NIST FIPS PUB 197) in the USM. The AES
encryption protocol can be selected by passing C or C to
the --privprotocol option.
One of the following arguments are required: des, aes, aes128, 3des,
3desde
=item --linebreak=I
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
Regular linebreaks, i.e. "\n".
=item B
HTML linebreaks, i.e. " ".
=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
=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
=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 .
=head1 SEE ALSO
L
=cut