4 * Fix for undefined device name for logical drives (thanks to Pontus
6 * Fixed a bug in the PNP4Nagios template, that prevented the template
7 from working with PNP4Nagios 0.6. Thanks to the PNP4Nagios team for
14 * CPU type, family etc. are now reported in case of a CPU failure (and
16 * The debug output now reports Openmanage version and plugin version
22 * New option '-a' or '--all' turns on checking of everything
23 * The manual page (POD info) is removed from the script and is now in
24 a separate file, to make check_openmanage fully ePN compatible
25 * ePN is no longer disabled by default, check_openmanage no longer has
26 an opinion on whether it should run under ePN or not
27 * The '-m' or '--man' option is no longer available
28 * The option '-v' or '--verbose' is renamed to '-d' or '--debug',
29 which makes more sense wrt. its usage
30 * The '-g' or '--global' option is removed. Checking the global health
31 status is now default if applicable
32 * Checking intrusion detection is now turned on by default
33 * The obsolete option '--snmp' is removed
34 * The option '--state' now has a shorter equivalent '-s'
35 * The basename stuff and options '--only-critical' and
36 '--only-warning' are now replaced by an option '--only'
37 * If plugin is run by Nagios, redirect stderr to stdout
38 * Added option '--omreport', that lets the user specify the full path
39 to the omreport binary
40 * Added non-8bit-legacy default search paths for omreport.exe for
42 * Minor changes to the plugin output, for consistency
43 * New blacklisting keyword 'bat_charge' disables warning messages
44 related to controller cache battery charging. Thanks to Robert
45 Heinzmann for a patch.
46 * For blacklisting, the component ID kan now be "ALL", in which all
47 components of that type is blacklisted.
48 * Man page is moved to manual section 8
54 * Fixed a bug that could cause errors and weird results when checking
55 cooling devices (fans) via SNMP. Thanks to Ken McKinlay for spotting
56 this bug and reporting it.
61 * For failed physical drives, check_openmanage will now output the
62 drive's vendor, model and size in GB or TB.
67 * The -s|--snmp option was redundant and no longer does anything. SNMP
68 is triggered automatically if the -H|--hostname option is
69 present. The -s|--snmp option is kept for compatibility, but has no
75 * Added support for performance data (temperatures) from attached
76 storage enclosures such as the MD1000
81 * Fixed a regression in the --htmlinfo option when it is not supplied
87 * New option --htmlinfo adds clickable HTML links in the plugin's
93 * Fixed a regression bug in CPU and power supply reporting that only
94 affects verbose output
95 * If blacklisting is used, the global health check (via the --global
96 option) is now negated. Checking the global health doesn't make
97 sense when one or more components is blacklisted. Thanks to Rene
98 Beaulieu for reporting this bug
99 * The PNP4Nagios template is now included in the tarball and zip
105 * Improved memory error reporting, when using omreport
106 * Collect performance data from pwrmonitoring (amperage probes) that
107 were previously ignored when using omreport
112 * Improved memory error reporting, when using SNMP
113 * Other small ehnancements
118 * The plugin is now compatible with the Nagios embedded Perl
119 interpreter (ePN) in theory. However, the plugin will not not use
120 ePN by default. We don't want any "accidents".
121 * License is now GPLv3, previously only specified as "GPL"
122 * New options --only-critical and --only-warning. With these options
123 the plugin will only print critical or warning alerts, respectively.
124 * Bugfixes and speed enhancements in the storage section, when
125 checking enclosure components via omreport
126 * The --okinfo option is now less verbose and more to the point
127 * Lots of code refactoring for readability, maintainability and
133 * Fixed a bug in the storage section, when checking controllers. This
134 is an obscure bug that only manifests itself in the odd case where a
135 server has multiple controllers, and one of the controllers are
136 missing some of the OIDs, in which case these OIDs will be missing
137 for the other controllers as well. The change is minor and only
138 includes using get_table() instead of get_entries() to collect the
139 SNMP result. Thanks to Stephan Bovet for reporting this bug.
144 * The --perfdata option can now optionally take an argument
145 "multiline", which makes the plugin produce multiline performance
146 data output in a Nagios 3.x way. Not really needed, but the plugin
148 * Added comment within the 10 first lines to disable the nagios
149 embedded perl (ePN) interpreter by default for Nagios 3.x
150 * Improvements in the performance data output. Units are now included
155 * Added --global option, which turns on checking of everything. If
156 used with SNMP, the global system health status is also probed, to
157 protect the user against bugs in the plugin. If used with omreport,
158 the overall chassis health is used.
159 * Support for SNMP version 3
160 * New check added: esmhealth. This checks the overall health of the
161 ESM log, i.e. the fill grade. More than 80% means a warning message
162 * Fixed alert log reporting to use the same format as for the ESM log
163 * Output messages are now sorted by severity
164 * Minor changes in how out-of-date controller firmware/driver is
166 * Code refactoring and cleanup
171 * Use "omreport about" to collect OMSA version. Slightly faster than
172 "omreport system version". This should give a small speedup in
173 certain configurations
174 * Fixed typo in output when a logical drive is rebuilding. Thanks to
175 Andreas Olsson for reporting
176 * Improved reporting of ESM log content
177 * Added omreport.sh as alternate omreport path
178 * Lots of other small fixes and enhancements
180 Plus: A few changes to make the plugin work with old PowerEdge models
181 (e.g. 2550, 2450) and/or old OMSA versions (e.g. version 4.5):
183 * Use the chassisModelName OID to determine if SNMP works (instead of
185 * No longer require a response when checking baseboard type via
186 SNMP. If there is no response, we assume that we're not dealing with
189 Thanks to Christian McHugh for help with testing and debugging this
195 * Use 'omreport system operatingsystem' to collect OS info, instead of
196 'omreport system' version which is incredibly slow. This should speed
197 things up in certain configurations.
198 * A few speedups, don't collect information that isn't needed
204 * New option --linebreak to specify the separator between line in case
206 * Added support for 64bit Windows. Thanks to Patrick Hemmen for a patch
207 * [Patrick Hemmen] Added install.bat for Windows installation
208 * [Patrick Hemmen] Improvements on install.sh. Will now install in
209 /usr/lib64 for x86_64
210 * RPMs are now architecture dependent, because of different libdir
215 * New option -o|--ok-info to display extra information when everything
216 is ok. The plugin can now display storage firmware and driver info,
217 DRAC and BMC firmware, and OMSA version
218 * Support for setting custom minimum temperature thresholds via the
219 -c|--critical and -w|--warning options
220 * Better and more detailed temperature error reporting
221 * Bugfix in the amperage report (including performance data). The
222 plugin now takes into account the correct unit and measurement for
223 amperage probes (other than watts)
224 * New option --port lets the user specify the remote SNMP port number
229 * Regression fix: Use the older Processor Device SNMP OIDs for older
230 PowerEdge models, that don't have the new Processor Device Status
231 OIDs. Thanks to Nicole Hähnel for reporting this bug.
232 * Default output (when there are no alerts) now shows RAC firmware,
233 BMC firmware, info about controllers and enclosures (firmware,
239 * Regression fix: Ignore unoccupied CPU slots with SNMP probing. This
240 fixes a bug introduced in versjon 3.2.1, which would output
241 something like this if one or more CPU slots were empty: CPU 1 needs
247 * Use Processor Device Status Table OIDs instead of Processor Device
248 Table when checking CPUs via SNMP
249 * Bugfix: don't report throttled CPUs as warnings when checking via
250 SNMP (same as for checking locally)
255 * New options --state and --short-state for displaying service state
257 * Lots of small fixes for code readability and maintainability
262 * Support for running natively on Windows (using omreport.exe). Thanks
263 to Peter Jestico for a patch.
264 * Support for compiled Windows version, i.e. check_openmanage.exe is
265 now a legal script name.
266 * Exit with error if script basename is illegal/unknown
267 * Various small fixes
272 * Use of alternate basenames for checking only one class of components
273 * Added support for checking the ESM log via SNMP
274 * Code refactoring for robustness and maintainability
275 * Numerous small fixes and enhancements
276 * Added install script in distribution tarball
281 * The script no longer aborts if it can't get system information via
282 SNMP. Give a warning instead, as this is not a critical error
283 * Increased robustness when checking controllers
288 * Man page fix in the 'check' section. Thanks to Ansgar Dahlen for
290 * Allow invalid command error from 'omreport chassis pwrmonitoring'
291 * Various small fixes
296 * Use unique IDs for storage components with regard to blacklisting,
297 which means that the blacklisting API has changed
298 * Added checks for storage components: connectors (channels),
299 enclosures, enclosure fans, enclosure power supplies, enclosure
300 temperature probes and enclosure management modules (EMMs)
301 * Improved verbose output
302 * New option -t|--timeout for setting the plugin timeout
303 * New option -w|--warning for setting custom temperature warning
305 * New option -c|--critical for setting custom temperature critical
307 * Option --check can no longer be specified in its short form (-c)
308 * Code cleanup and improvements
313 * The workaround for the OMSA bug introduced in OMSA 5.5.0 didn't take
314 multiple controllers into account. This has been fixed.
319 * New option -i|--info prefixes all alerts with the service tag
320 * New option -e|--extinfo gives and extra line of output in case of an
321 alert (model and service tag)
322 * New option --postmsg lets the user specify a post message string,
323 with info such as model, service tag etc.
324 * Options -b|--blacklist and -c|--check can now be specified multiple
325 times (actually quite useful)
330 * Slightly improved output for alerts on logical drives (vdisks)
331 * Now shows a rebuilding physical disk as a warning, as this is
332 usually accompanied by a degraded vdisk. Previous versions didn't
333 show this at all (omreport classifies it as "OK").
338 * Slightly improved output for charging controller batteries
343 * Bugfix for reporting physical drives with predictive failure (both
349 * Fix bug in option handling (ambiguous options)
350 * Slightly improved output if checking the storage subsystem is turned
352 * Don't complain if there are no logical drives. This is OK. Thanks to
353 Jamie Henderson for reporting this
358 * Fix bug in SNMP status level table
363 * Added workaround for a BUG introduced in OpenManage 5.5.0. OM
364 sometimes adds a newline in the controller driver version name,
365 which leads to problems parsing the output. Thanks to Hiren Patel
366 for bringing this to my attention.
371 * (snmp) Improved handling of cases where OM is not working properly
376 * Fixed issue where controller number for physical disks can't be
377 established via SNMP (now identifies as controller no. -1)
382 * Correctly identifies and reports error condition in which OpenManage
383 has stopped working (it happens)
389 * Same options for checking, blacklisting etc. supported with SNMP
390 * Same output with SNMP as with NRPE
395 * Collects performance data if the option '-p' or '--perfdata' is
397 * New blacklisting directives ctrl_fw and ctrl_driver
398 added. Suppresses the "special" warning messages concerning outdated
399 controller firmware and driver. Useful if you can't or won't
405 * Fix getting system model and serial number for newer blades
410 * Three new checks added:
411 - System battery probes (typical CMOS battery). Newer poweredge
413 - Power consumption monitoring (if the server supports it)
414 - ESM log, with same functionality as the alert log check. Disabled
420 * Internal refactoring: use ssv-formatted output from openmanage,
421 resulting in slightly faster execution and increased robustness.
422 * If /usr/bin/omreport doesn't exist, try
423 /opt/dell/srvadmin/oma/bin/omreport.
424 * Allow for no instrumented/redundant power supplies. Needed on
425 low-end poweredge models and blades.
430 * Openmanage reports non-critical warning about throttled CPUs on new
431 hardware models. Most og us use ondemand CPU frequency scaling (with
432 throttled CPUs as a result). This specific non-critical warning (CPU
433 Throttled) is ignored from now on.
434 * Remove superfluous Celcius sign when reporting temperatures.
439 * Accommodate blade systems with no fans or powersupplies, i.e. accept
440 errors from omreport when trying to check fans or powersupplies on
442 * Accommodate newer hardware with slightly different omreport
443 options. Use the newer options if they exist. Not really necessary
444 yet, but deprecated options may be removed in future versions of
450 * When everything is OK, check_openmanage now outputs the same info as
451 Gerhard Lausser's excellent check_hpasm plugin does for HP servers:
453 OK - System: 'poweredge 2850', S/N: 'XXXXXXX', ROM: 'A06
454 10/03/2006', hardware working fine, 2 logical drives, 4 physical