4 * More fine-grained reporting of temperature warnings for enclosure
6 * Max/min temperature limits for enclosure temp probes are reported in
8 * Report enclosure temperature probes that are "Inactive" as ok
9 * Don't try to print out the reading of enclosure temperature probes
10 if the reading doesn't exist or is not an integer
11 * Report enclosure EMMs that are "Not Installed" as ok, instead of
13 * Corrected typo in the PNP4Nagios template
19 * Remove reporting of which controller a logical drive is "attached"
20 to, since this information can't be reliably extracted via SNMP.
21 * Avoid collecting Lun ID via SNMP for virtual disks, we don't use it
22 * Report total memory and number of dimms in the ok output
23 * Difference in reporting if amperage probes have discrete readings
24 * Workaround for broken amperage probes
25 * Added workaround for bad temperature probes that yields no reading
27 * Get OMSA version via SNMP slightly more efficiently
33 * Added robustness for received SNMP values that are not defined in
34 the MIB. Instead of throwing a perl warning when this happens, the
35 plugin will not report the undefined value.
36 * Defined "Replacing" as a defined state for physical disks in SNMP
37 mode, even though this state is not defined in the MIB. It is
38 reported as such by omreport.
39 * Physical disk brand/model is now reported when the state of the disk
40 is "Rebuilding" or "Replacing".
41 * The state of a physical disk is reported in parentheses when
42 predictive failure is detected. It is useful to know if a disk is
43 online, offline, spare or even failed when predictive failure is
45 * Handling of physical disk predictive failure has been improved
47 * Refactoring of the perfdata code. In conformance with the plugin
48 development guidelines, the UOM (unit of measure) previously
49 reported in the perfdata output has been removed.
50 * The -p or --perfdata option now
51 takes an optional agrument 'minimal', which triggers shorter names
52 for the perfomance data labels. This shortens the output and is a
53 workaround for systems where the amount of output exceeds the 1024
55 * The PNP4Nagios template has been updated. Users of check_openmanage
56 and PNP4Nagios are advised to upgrade. This version of
57 check_openmanage needs the new template.
58 * Lots of other small improvements and updates.
64 * New option '--use-get_table' is added as a workaround for SNMPv3 on
65 Windows using net-snmp. This option will make check_openmanage use
66 the Net::SNMP function get_table() instead of get_entries() to
67 collect information via SNMP.
68 * Include a blacklisting option 'ctrl_pdisk' which takes the
69 controller number as argument. This blacklisting option only works
70 with omreport and is a workaround for broken disk firmwares that
71 contain illegal XML characters. These characters makes openmanage
72 barf and exit with an error. Patch from Bas Couwenberg.
73 * If the blacklisting keyword "all" is supplied for a component type,
74 that component type is not checked at all, i.e. the commands are
75 never executed. This will make check_openmanage execute faster if
76 blacklisting is heavily used.
77 * Option '--htmlinfo' now has a shorter equivalent '-I'
78 * The option '--short-state' now has a shorter equivalent '-S'
84 * Fixed an SNMP bug where the plugin didn't handle OID indexes that
85 were not sequential. Thanks to Gianluca Varenni for reporting.
86 * Fixed an SNMP bug when checking old hardware such as the PE 2650 and
87 PE 750. The controller id for physical drives were collected and
88 displayed incorrectly. This release uses an additional OID to fetch
89 this info, which would otherwise be unavailable. Thanks to Gianluca
90 Varenni for reporting this bug.
91 * Should use %snmp_probestatus, not %snmp_status when checking the
92 status of voltage probes. Thanks to Ken McKinlay for a patch.
93 * Fix when identifying blades via SNMP with very old OMSA
94 versions. Patch from Ken McKinlay.
95 * Better way of finding the ID of physical drives via SNMP
101 * Added support for storport driver version for controllers, only
102 applicable on servers running Windows. A new blacklisting keyword
103 for suppressing storport driver messages was added.
104 * The "all" keyword in blacklisting is now case insensitive.
105 * More fine-grained reporting in the rare case where a controller
106 battery fails during learning and charging states.
107 * New improved way of reporting perl warnings during execution of the
114 * Fix for path to omreport on Linux with OMSA 6.2.0
115 * A couple of other small fixes
121 * Fix for undefined device name for logical drives (thanks to Pontus
123 * Fixed a bug in the PNP4Nagios template, that prevented the template
124 from working with PNP4Nagios 0.6. Thanks to the PNP4Nagios team for
131 * CPU type, family etc. are now reported in case of a CPU failure (and
133 * The debug output now reports Openmanage version and plugin version
139 * New option '-a' or '--all' turns on checking of everything
140 * The manual page (POD info) is removed from the script and is now in
141 a separate file, to make check_openmanage fully ePN compatible
142 * ePN is no longer disabled by default, check_openmanage no longer has
143 an opinion on whether it should run under ePN or not
144 * The '-m' or '--man' option is no longer available
145 * The option '-v' or '--verbose' is renamed to '-d' or '--debug',
146 which makes more sense wrt. its usage
147 * The '-g' or '--global' option is removed. Checking the global health
148 status is now default if applicable
149 * Checking intrusion detection is now turned on by default
150 * The obsolete option '--snmp' is removed
151 * The option '--state' now has a shorter equivalent '-s'
152 * The basename stuff and options '--only-critical' and
153 '--only-warning' are now replaced by an option '--only'
154 * If plugin is run by Nagios, redirect stderr to stdout
155 * Added option '--omreport', that lets the user specify the full path
156 to the omreport binary
157 * Added non-8bit-legacy default search paths for omreport.exe for
159 * Minor changes to the plugin output, for consistency
160 * New blacklisting keyword 'bat_charge' disables warning messages
161 related to controller cache battery charging. Thanks to Robert
162 Heinzmann for a patch.
163 * For blacklisting, the component ID kan now be "ALL", in which all
164 components of that type is blacklisted.
165 * Man page is moved to manual section 8
171 * Fixed a bug that could cause errors and weird results when checking
172 cooling devices (fans) via SNMP. Thanks to Ken McKinlay for spotting
173 this bug and reporting it.
178 * For failed physical drives, check_openmanage will now output the
179 drive's vendor, model and size in GB or TB.
184 * The -s|--snmp option was redundant and no longer does anything. SNMP
185 is triggered automatically if the -H|--hostname option is
186 present. The -s|--snmp option is kept for compatibility, but has no
192 * Added support for performance data (temperatures) from attached
193 storage enclosures such as the MD1000
198 * Fixed a regression in the --htmlinfo option when it is not supplied
204 * New option --htmlinfo adds clickable HTML links in the plugin's
210 * Fixed a regression bug in CPU and power supply reporting that only
211 affects verbose output
212 * If blacklisting is used, the global health check (via the --global
213 option) is now negated. Checking the global health doesn't make
214 sense when one or more components is blacklisted. Thanks to Rene
215 Beaulieu for reporting this bug
216 * The PNP4Nagios template is now included in the tarball and zip
222 * Improved memory error reporting, when using omreport
223 * Collect performance data from pwrmonitoring (amperage probes) that
224 were previously ignored when using omreport
229 * Improved memory error reporting, when using SNMP
230 * Other small ehnancements
235 * The plugin is now compatible with the Nagios embedded Perl
236 interpreter (ePN) in theory. However, the plugin will not not use
237 ePN by default. We don't want any "accidents".
238 * License is now GPLv3, previously only specified as "GPL"
239 * New options --only-critical and --only-warning. With these options
240 the plugin will only print critical or warning alerts, respectively.
241 * Bugfixes and speed enhancements in the storage section, when
242 checking enclosure components via omreport
243 * The --okinfo option is now less verbose and more to the point
244 * Lots of code refactoring for readability, maintainability and
250 * Fixed a bug in the storage section, when checking controllers. This
251 is an obscure bug that only manifests itself in the odd case where a
252 server has multiple controllers, and one of the controllers are
253 missing some of the OIDs, in which case these OIDs will be missing
254 for the other controllers as well. The change is minor and only
255 includes using get_table() instead of get_entries() to collect the
256 SNMP result. Thanks to Stephan Bovet for reporting this bug.
261 * The --perfdata option can now optionally take an argument
262 "multiline", which makes the plugin produce multiline performance
263 data output in a Nagios 3.x way. Not really needed, but the plugin
265 * Added comment within the 10 first lines to disable the nagios
266 embedded perl (ePN) interpreter by default for Nagios 3.x
267 * Improvements in the performance data output. Units are now included
272 * Added --global option, which turns on checking of everything. If
273 used with SNMP, the global system health status is also probed, to
274 protect the user against bugs in the plugin. If used with omreport,
275 the overall chassis health is used.
276 * Support for SNMP version 3
277 * New check added: esmhealth. This checks the overall health of the
278 ESM log, i.e. the fill grade. More than 80% means a warning message
279 * Fixed alert log reporting to use the same format as for the ESM log
280 * Output messages are now sorted by severity
281 * Minor changes in how out-of-date controller firmware/driver is
283 * Code refactoring and cleanup
288 * Use "omreport about" to collect OMSA version. Slightly faster than
289 "omreport system version". This should give a small speedup in
290 certain configurations
291 * Fixed typo in output when a logical drive is rebuilding. Thanks to
292 Andreas Olsson for reporting
293 * Improved reporting of ESM log content
294 * Added omreport.sh as alternate omreport path
295 * Lots of other small fixes and enhancements
297 Plus: A few changes to make the plugin work with old PowerEdge models
298 (e.g. 2550, 2450) and/or old OMSA versions (e.g. version 4.5):
300 * Use the chassisModelName OID to determine if SNMP works (instead of
302 * No longer require a response when checking baseboard type via
303 SNMP. If there is no response, we assume that we're not dealing with
306 Thanks to Christian McHugh for help with testing and debugging this
312 * Use 'omreport system operatingsystem' to collect OS info, instead of
313 'omreport system' version which is incredibly slow. This should speed
314 things up in certain configurations.
315 * A few speedups, don't collect information that isn't needed
321 * New option --linebreak to specify the separator between line in case
323 * Added support for 64bit Windows. Thanks to Patrick Hemmen for a patch
324 * [Patrick Hemmen] Added install.bat for Windows installation
325 * [Patrick Hemmen] Improvements on install.sh. Will now install in
326 /usr/lib64 for x86_64
327 * RPMs are now architecture dependent, because of different libdir
332 * New option -o|--ok-info to display extra information when everything
333 is ok. The plugin can now display storage firmware and driver info,
334 DRAC and BMC firmware, and OMSA version
335 * Support for setting custom minimum temperature thresholds via the
336 -c|--critical and -w|--warning options
337 * Better and more detailed temperature error reporting
338 * Bugfix in the amperage report (including performance data). The
339 plugin now takes into account the correct unit and measurement for
340 amperage probes (other than watts)
341 * New option --port lets the user specify the remote SNMP port number
346 * Regression fix: Use the older Processor Device SNMP OIDs for older
347 PowerEdge models, that don't have the new Processor Device Status
348 OIDs. Thanks to Nicole Hähnel for reporting this bug.
349 * Default output (when there are no alerts) now shows RAC firmware,
350 BMC firmware, info about controllers and enclosures (firmware,
356 * Regression fix: Ignore unoccupied CPU slots with SNMP probing. This
357 fixes a bug introduced in versjon 3.2.1, which would output
358 something like this if one or more CPU slots were empty: CPU 1 needs
364 * Use Processor Device Status Table OIDs instead of Processor Device
365 Table when checking CPUs via SNMP
366 * Bugfix: don't report throttled CPUs as warnings when checking via
367 SNMP (same as for checking locally)
372 * New options --state and --short-state for displaying service state
374 * Lots of small fixes for code readability and maintainability
379 * Support for running natively on Windows (using omreport.exe). Thanks
380 to Peter Jestico for a patch.
381 * Support for compiled Windows version, i.e. check_openmanage.exe is
382 now a legal script name.
383 * Exit with error if script basename is illegal/unknown
384 * Various small fixes
389 * Use of alternate basenames for checking only one class of components
390 * Added support for checking the ESM log via SNMP
391 * Code refactoring for robustness and maintainability
392 * Numerous small fixes and enhancements
393 * Added install script in distribution tarball
398 * The script no longer aborts if it can't get system information via
399 SNMP. Give a warning instead, as this is not a critical error
400 * Increased robustness when checking controllers
405 * Man page fix in the 'check' section. Thanks to Ansgar Dahlen for
407 * Allow invalid command error from 'omreport chassis pwrmonitoring'
408 * Various small fixes
413 * Use unique IDs for storage components with regard to blacklisting,
414 which means that the blacklisting API has changed
415 * Added checks for storage components: connectors (channels),
416 enclosures, enclosure fans, enclosure power supplies, enclosure
417 temperature probes and enclosure management modules (EMMs)
418 * Improved verbose output
419 * New option -t|--timeout for setting the plugin timeout
420 * New option -w|--warning for setting custom temperature warning
422 * New option -c|--critical for setting custom temperature critical
424 * Option --check can no longer be specified in its short form (-c)
425 * Code cleanup and improvements
430 * The workaround for the OMSA bug introduced in OMSA 5.5.0 didn't take
431 multiple controllers into account. This has been fixed.
436 * New option -i|--info prefixes all alerts with the service tag
437 * New option -e|--extinfo gives and extra line of output in case of an
438 alert (model and service tag)
439 * New option --postmsg lets the user specify a post message string,
440 with info such as model, service tag etc.
441 * Options -b|--blacklist and -c|--check can now be specified multiple
442 times (actually quite useful)
447 * Slightly improved output for alerts on logical drives (vdisks)
448 * Now shows a rebuilding physical disk as a warning, as this is
449 usually accompanied by a degraded vdisk. Previous versions didn't
450 show this at all (omreport classifies it as "OK").
455 * Slightly improved output for charging controller batteries
460 * Bugfix for reporting physical drives with predictive failure (both
466 * Fix bug in option handling (ambiguous options)
467 * Slightly improved output if checking the storage subsystem is turned
469 * Don't complain if there are no logical drives. This is OK. Thanks to
470 Jamie Henderson for reporting this
475 * Fix bug in SNMP status level table
480 * Added workaround for a BUG introduced in OpenManage 5.5.0. OM
481 sometimes adds a newline in the controller driver version name,
482 which leads to problems parsing the output. Thanks to Hiren Patel
483 for bringing this to my attention.
488 * (snmp) Improved handling of cases where OM is not working properly
493 * Fixed issue where controller number for physical disks can't be
494 established via SNMP (now identifies as controller no. -1)
499 * Correctly identifies and reports error condition in which OpenManage
500 has stopped working (it happens)
506 * Same options for checking, blacklisting etc. supported with SNMP
507 * Same output with SNMP as with NRPE
512 * Collects performance data if the option '-p' or '--perfdata' is
514 * New blacklisting directives ctrl_fw and ctrl_driver
515 added. Suppresses the "special" warning messages concerning outdated
516 controller firmware and driver. Useful if you can't or won't
522 * Fix getting system model and serial number for newer blades
527 * Three new checks added:
528 - System battery probes (typical CMOS battery). Newer poweredge
530 - Power consumption monitoring (if the server supports it)
531 - ESM log, with same functionality as the alert log check. Disabled
537 * Internal refactoring: use ssv-formatted output from openmanage,
538 resulting in slightly faster execution and increased robustness.
539 * If /usr/bin/omreport doesn't exist, try
540 /opt/dell/srvadmin/oma/bin/omreport.
541 * Allow for no instrumented/redundant power supplies. Needed on
542 low-end poweredge models and blades.
547 * Openmanage reports non-critical warning about throttled CPUs on new
548 hardware models. Most og us use ondemand CPU frequency scaling (with
549 throttled CPUs as a result). This specific non-critical warning (CPU
550 Throttled) is ignored from now on.
551 * Remove superfluous Celcius sign when reporting temperatures.
556 * Accommodate blade systems with no fans or powersupplies, i.e. accept
557 errors from omreport when trying to check fans or powersupplies on
559 * Accommodate newer hardware with slightly different omreport
560 options. Use the newer options if they exist. Not really necessary
561 yet, but deprecated options may be removed in future versions of
567 * When everything is OK, check_openmanage now outputs the same info as
568 Gerhard Lausser's excellent check_hpasm plugin does for HP servers:
570 OK - System: 'poweredge 2850', S/N: 'XXXXXXX', ROM: 'A06
571 10/03/2006', hardware working fine, 2 logical drives, 4 physical