4 * Fix counting of components when blacklisting is used. Components
5 should be counted even if blacklisted
6 * Added some unsupported vdisk types to the list. The OMSA MIB
7 identifies these, but lists them as unsupported.
8 * Added option '-B' or '--show-blacklist' to show any blacklistings in
10 * Fixed a bug for checking voltage probes, if the reading is missing
12 * Fixed a regression bug for a power monitoring corner case.
17 * Added more robustness wrt. values from OMSA obtained via SNMP, to
18 avoid internal errors where non-important values are missing.
23 * A few compatibility fixes for OMSA 6.4.0 were added.
28 * Added support for IPv6 when checking via SNMP. IPv6 can be turned on
29 with the option '-6' or '--ipv6'. The default is IPv4 if the option
31 * Added support for TCP when checking vis SNMP. The option '--tcp' can
32 be used to turn on TCP. The default transport protocol is UDP if the
33 option is not present.
34 * The mode of operation (local or SNMP) is shown in the debug
35 output. If SNMP is used, the debug output will also show the SNMP
36 protocol version, IP version and transport protocol (UDP or TCP).
37 * Amperage probe status via SNMP is of type "probe status", not
38 regular status. This has been fixed.
39 * Massive overall robustness improvements to handle OMSA bugs where
40 some information from OMSA is missing.
41 * Memory module enumeration via SNMP changed somewhat to reflect
42 enumeration provided by omreport. This ensures that the plugin's
43 output is identical in SNMP or local mode wrt. dimms IDs.
44 * Fan enumeration via SNMP changed somewhat to reflect enumeration
45 provided by omreport. This ensures that the plugin's output is
46 identical in SNMP or local mode wrt. fan IDs.
51 * Included new check for SD cards. Newer servers such as the R710 can
52 have SD cards installed, these should be monitored. The SD card
53 check is on by default. A new blacklisting keyword 'sd' has been
54 added. The SD card check can be turned off with '--check sdcard=0'.
55 * Handle special cases where power monitoring capability is disabled
56 due to non-redundant and/or non-instrumented power supplies.
57 * For physical disks probed via SNMP, check that values for vendor,
58 product ID and capacity is available before attempting to display
60 * If a physical disk is in sufficiently bad condition, the vendor
61 field reported by OMSA may be empty. The plugin now handles this
62 situation without throwing an internal error.
68 * Storage is no longer allowed to be absent. If the plugin doesn't
69 find a storage controller, it will give an alert. For diskless
70 systems or servers without a Dell controller that OMSA recognizes
71 you will now have to specify '--no-storage' or '--check storage=0'
73 * Report the system revision (if applicable) wherever the model name
74 is printed. E.g. "PowerEdge 2950 III" instead of "PowerEdge 2950".
75 * Small change in search path for omreport: The new location for OMSA
76 6.2.0 and later on Linux will be attempted first.
77 * Small bugfix for the '--check' parameter, if the argument is a
78 filename. The file could not contain a linebreak, this has been
80 * Added an option '--no-storage', which is equivalent to the general
81 option '--check storage=0'.
87 * If a physical disk is a hot spare, display this information in
89 * Report the bus protocol (e.g. SAS, SATA) and media type (e.g. HDD,
90 SDD) for physical disks in the debug output, if applicable
91 * Minor fix for 100GB physical disks, write "100GB" instead of "99GB"
92 * SNMP: Use new features of OMSA 6.3.0 to display occupied and total
93 slots in storage enclosures, if applicable. This information is not
94 available with omreport and check_openmanage will not display this
96 * SNMP: Added new processor IDs from the OMSA 6.3.0 MIBs
97 * SNMP: Use connection tables in a proper way to determine controller
98 and enclosure IDs, for use with physical disks and enclosure
99 components (fan, temp sensors etc.). This fixes a long standing bug
100 for servers with more than one controller, if checked via SNMP.
101 * SNMP: Use the nexus ID as last resort to find the controller for
102 physical disks. Workaround for older, broken OMSA versions.
103 * SNMP: Identify enclosures (e.g. '2:0:0') properly so that the
104 reporting with SNMP corresponds to the same report with omreport.
105 * SNMP: added a couple of workarounds for pre-historic OMSA versions
111 * More fine-grained reporting of temperature warnings for enclosure
113 * Max/min temperature limits for enclosure temp probes are reported in
115 * Report enclosure temperature probes that are "Inactive" as ok
116 * Don't try to print out the reading of enclosure temperature probes
117 if the reading doesn't exist or is not an integer
118 * Report enclosure EMMs that are "Not Installed" as ok, instead of
120 * Corrected typo in the PNP4Nagios template
126 * Remove reporting of which controller a logical drive is "attached"
127 to, since this information can't be reliably extracted via SNMP.
128 * Avoid collecting Lun ID via SNMP for virtual disks, we don't use it
129 * Report total memory and number of dimms in the ok output
130 * Difference in reporting if amperage probes have discrete readings
131 * Workaround for broken amperage probes
132 * Added workaround for bad temperature probes that yields no reading
134 * Get OMSA version via SNMP slightly more efficiently
140 * Added robustness for received SNMP values that are not defined in
141 the MIB. Instead of throwing a perl warning when this happens, the
142 plugin will not report the undefined value.
143 * Defined "Replacing" as a defined state for physical disks in SNMP
144 mode, even though this state is not defined in the MIB. It is
145 reported as such by omreport.
146 * Physical disk brand/model is now reported when the state of the disk
147 is "Rebuilding" or "Replacing".
148 * The state of a physical disk is reported in parentheses when
149 predictive failure is detected. It is useful to know if a disk is
150 online, offline, spare or even failed when predictive failure is
152 * Handling of physical disk predictive failure has been improved
154 * Refactoring of the perfdata code. In conformance with the plugin
155 development guidelines, the UOM (unit of measure) previously
156 reported in the perfdata output has been removed.
157 * The -p or --perfdata option now
158 takes an optional agrument 'minimal', which triggers shorter names
159 for the perfomance data labels. This shortens the output and is a
160 workaround for systems where the amount of output exceeds the 1024
162 * The PNP4Nagios template has been updated. Users of check_openmanage
163 and PNP4Nagios are advised to upgrade. This version of
164 check_openmanage needs the new template.
165 * Lots of other small improvements and updates.
171 * New option '--use-get_table' is added as a workaround for SNMPv3 on
172 Windows using net-snmp. This option will make check_openmanage use
173 the Net::SNMP function get_table() instead of get_entries() to
174 collect information via SNMP.
175 * Include a blacklisting option 'ctrl_pdisk' which takes the
176 controller number as argument. This blacklisting option only works
177 with omreport and is a workaround for broken disk firmwares that
178 contain illegal XML characters. These characters makes openmanage
179 barf and exit with an error. Patch from Bas Couwenberg.
180 * If the blacklisting keyword "all" is supplied for a component type,
181 that component type is not checked at all, i.e. the commands are
182 never executed. This will make check_openmanage execute faster if
183 blacklisting is heavily used.
184 * Option '--htmlinfo' now has a shorter equivalent '-I'
185 * The option '--short-state' now has a shorter equivalent '-S'
191 * Fixed an SNMP bug where the plugin didn't handle OID indexes that
192 were not sequential. Thanks to Gianluca Varenni for reporting.
193 * Fixed an SNMP bug when checking old hardware such as the PE 2650 and
194 PE 750. The controller id for physical drives were collected and
195 displayed incorrectly. This release uses an additional OID to fetch
196 this info, which would otherwise be unavailable. Thanks to Gianluca
197 Varenni for reporting this bug.
198 * Should use %snmp_probestatus, not %snmp_status when checking the
199 status of voltage probes. Thanks to Ken McKinlay for a patch.
200 * Fix when identifying blades via SNMP with very old OMSA
201 versions. Patch from Ken McKinlay.
202 * Better way of finding the ID of physical drives via SNMP
208 * Added support for storport driver version for controllers, only
209 applicable on servers running Windows. A new blacklisting keyword
210 for suppressing storport driver messages was added.
211 * The "all" keyword in blacklisting is now case insensitive.
212 * More fine-grained reporting in the rare case where a controller
213 battery fails during learning and charging states.
214 * New improved way of reporting perl warnings during execution of the
221 * Fix for path to omreport on Linux with OMSA 6.2.0
222 * A couple of other small fixes
228 * Fix for undefined device name for logical drives (thanks to Pontus
230 * Fixed a bug in the PNP4Nagios template, that prevented the template
231 from working with PNP4Nagios 0.6. Thanks to the PNP4Nagios team for
238 * CPU type, family etc. are now reported in case of a CPU failure (and
240 * The debug output now reports Openmanage version and plugin version
246 * New option '-a' or '--all' turns on checking of everything
247 * The manual page (POD info) is removed from the script and is now in
248 a separate file, to make check_openmanage fully ePN compatible
249 * ePN is no longer disabled by default, check_openmanage no longer has
250 an opinion on whether it should run under ePN or not
251 * The '-m' or '--man' option is no longer available
252 * The option '-v' or '--verbose' is renamed to '-d' or '--debug',
253 which makes more sense wrt. its usage
254 * The '-g' or '--global' option is removed. Checking the global health
255 status is now default if applicable
256 * Checking intrusion detection is now turned on by default
257 * The obsolete option '--snmp' is removed
258 * The option '--state' now has a shorter equivalent '-s'
259 * The basename stuff and options '--only-critical' and
260 '--only-warning' are now replaced by an option '--only'
261 * If plugin is run by Nagios, redirect stderr to stdout
262 * Added option '--omreport', that lets the user specify the full path
263 to the omreport binary
264 * Added non-8bit-legacy default search paths for omreport.exe for
266 * Minor changes to the plugin output, for consistency
267 * New blacklisting keyword 'bat_charge' disables warning messages
268 related to controller cache battery charging. Thanks to Robert
269 Heinzmann for a patch.
270 * For blacklisting, the component ID kan now be "ALL", in which all
271 components of that type is blacklisted.
272 * Man page is moved to manual section 8
278 * Fixed a bug that could cause errors and weird results when checking
279 cooling devices (fans) via SNMP. Thanks to Ken McKinlay for spotting
280 this bug and reporting it.
285 * For failed physical drives, check_openmanage will now output the
286 drive's vendor, model and size in GB or TB.
291 * The -s|--snmp option was redundant and no longer does anything. SNMP
292 is triggered automatically if the -H|--hostname option is
293 present. The -s|--snmp option is kept for compatibility, but has no
299 * Added support for performance data (temperatures) from attached
300 storage enclosures such as the MD1000
305 * Fixed a regression in the --htmlinfo option when it is not supplied
311 * New option --htmlinfo adds clickable HTML links in the plugin's
317 * Fixed a regression bug in CPU and power supply reporting that only
318 affects verbose output
319 * If blacklisting is used, the global health check (via the --global
320 option) is now negated. Checking the global health doesn't make
321 sense when one or more components is blacklisted. Thanks to Rene
322 Beaulieu for reporting this bug
323 * The PNP4Nagios template is now included in the tarball and zip
329 * Improved memory error reporting, when using omreport
330 * Collect performance data from pwrmonitoring (amperage probes) that
331 were previously ignored when using omreport
336 * Improved memory error reporting, when using SNMP
337 * Other small ehnancements
342 * The plugin is now compatible with the Nagios embedded Perl
343 interpreter (ePN) in theory. However, the plugin will not not use
344 ePN by default. We don't want any "accidents".
345 * License is now GPLv3, previously only specified as "GPL"
346 * New options --only-critical and --only-warning. With these options
347 the plugin will only print critical or warning alerts, respectively.
348 * Bugfixes and speed enhancements in the storage section, when
349 checking enclosure components via omreport
350 * The --okinfo option is now less verbose and more to the point
351 * Lots of code refactoring for readability, maintainability and
357 * Fixed a bug in the storage section, when checking controllers. This
358 is an obscure bug that only manifests itself in the odd case where a
359 server has multiple controllers, and one of the controllers are
360 missing some of the OIDs, in which case these OIDs will be missing
361 for the other controllers as well. The change is minor and only
362 includes using get_table() instead of get_entries() to collect the
363 SNMP result. Thanks to Stephan Bovet for reporting this bug.
368 * The --perfdata option can now optionally take an argument
369 "multiline", which makes the plugin produce multiline performance
370 data output in a Nagios 3.x way. Not really needed, but the plugin
372 * Added comment within the 10 first lines to disable the nagios
373 embedded perl (ePN) interpreter by default for Nagios 3.x
374 * Improvements in the performance data output. Units are now included
379 * Added --global option, which turns on checking of everything. If
380 used with SNMP, the global system health status is also probed, to
381 protect the user against bugs in the plugin. If used with omreport,
382 the overall chassis health is used.
383 * Support for SNMP version 3
384 * New check added: esmhealth. This checks the overall health of the
385 ESM log, i.e. the fill grade. More than 80% means a warning message
386 * Fixed alert log reporting to use the same format as for the ESM log
387 * Output messages are now sorted by severity
388 * Minor changes in how out-of-date controller firmware/driver is
390 * Code refactoring and cleanup
395 * Use "omreport about" to collect OMSA version. Slightly faster than
396 "omreport system version". This should give a small speedup in
397 certain configurations
398 * Fixed typo in output when a logical drive is rebuilding. Thanks to
399 Andreas Olsson for reporting
400 * Improved reporting of ESM log content
401 * Added omreport.sh as alternate omreport path
402 * Lots of other small fixes and enhancements
404 Plus: A few changes to make the plugin work with old PowerEdge models
405 (e.g. 2550, 2450) and/or old OMSA versions (e.g. version 4.5):
407 * Use the chassisModelName OID to determine if SNMP works (instead of
409 * No longer require a response when checking baseboard type via
410 SNMP. If there is no response, we assume that we're not dealing with
413 Thanks to Christian McHugh for help with testing and debugging this
419 * Use 'omreport system operatingsystem' to collect OS info, instead of
420 'omreport system' version which is incredibly slow. This should speed
421 things up in certain configurations.
422 * A few speedups, don't collect information that isn't needed
428 * New option --linebreak to specify the separator between line in case
430 * Added support for 64bit Windows. Thanks to Patrick Hemmen for a patch
431 * [Patrick Hemmen] Added install.bat for Windows installation
432 * [Patrick Hemmen] Improvements on install.sh. Will now install in
433 /usr/lib64 for x86_64
434 * RPMs are now architecture dependent, because of different libdir
439 * New option -o|--ok-info to display extra information when everything
440 is ok. The plugin can now display storage firmware and driver info,
441 DRAC and BMC firmware, and OMSA version
442 * Support for setting custom minimum temperature thresholds via the
443 -c|--critical and -w|--warning options
444 * Better and more detailed temperature error reporting
445 * Bugfix in the amperage report (including performance data). The
446 plugin now takes into account the correct unit and measurement for
447 amperage probes (other than watts)
448 * New option --port lets the user specify the remote SNMP port number
453 * Regression fix: Use the older Processor Device SNMP OIDs for older
454 PowerEdge models, that don't have the new Processor Device Status
455 OIDs. Thanks to Nicole Hähnel for reporting this bug.
456 * Default output (when there are no alerts) now shows RAC firmware,
457 BMC firmware, info about controllers and enclosures (firmware,
463 * Regression fix: Ignore unoccupied CPU slots with SNMP probing. This
464 fixes a bug introduced in versjon 3.2.1, which would output
465 something like this if one or more CPU slots were empty: CPU 1 needs
471 * Use Processor Device Status Table OIDs instead of Processor Device
472 Table when checking CPUs via SNMP
473 * Bugfix: don't report throttled CPUs as warnings when checking via
474 SNMP (same as for checking locally)
479 * New options --state and --short-state for displaying service state
481 * Lots of small fixes for code readability and maintainability
486 * Support for running natively on Windows (using omreport.exe). Thanks
487 to Peter Jestico for a patch.
488 * Support for compiled Windows version, i.e. check_openmanage.exe is
489 now a legal script name.
490 * Exit with error if script basename is illegal/unknown
491 * Various small fixes
496 * Use of alternate basenames for checking only one class of components
497 * Added support for checking the ESM log via SNMP
498 * Code refactoring for robustness and maintainability
499 * Numerous small fixes and enhancements
500 * Added install script in distribution tarball
505 * The script no longer aborts if it can't get system information via
506 SNMP. Give a warning instead, as this is not a critical error
507 * Increased robustness when checking controllers
512 * Man page fix in the 'check' section. Thanks to Ansgar Dahlen for
514 * Allow invalid command error from 'omreport chassis pwrmonitoring'
515 * Various small fixes
520 * Use unique IDs for storage components with regard to blacklisting,
521 which means that the blacklisting API has changed
522 * Added checks for storage components: connectors (channels),
523 enclosures, enclosure fans, enclosure power supplies, enclosure
524 temperature probes and enclosure management modules (EMMs)
525 * Improved verbose output
526 * New option -t|--timeout for setting the plugin timeout
527 * New option -w|--warning for setting custom temperature warning
529 * New option -c|--critical for setting custom temperature critical
531 * Option --check can no longer be specified in its short form (-c)
532 * Code cleanup and improvements
537 * The workaround for the OMSA bug introduced in OMSA 5.5.0 didn't take
538 multiple controllers into account. This has been fixed.
543 * New option -i|--info prefixes all alerts with the service tag
544 * New option -e|--extinfo gives and extra line of output in case of an
545 alert (model and service tag)
546 * New option --postmsg lets the user specify a post message string,
547 with info such as model, service tag etc.
548 * Options -b|--blacklist and -c|--check can now be specified multiple
549 times (actually quite useful)
554 * Slightly improved output for alerts on logical drives (vdisks)
555 * Now shows a rebuilding physical disk as a warning, as this is
556 usually accompanied by a degraded vdisk. Previous versions didn't
557 show this at all (omreport classifies it as "OK").
562 * Slightly improved output for charging controller batteries
567 * Bugfix for reporting physical drives with predictive failure (both
573 * Fix bug in option handling (ambiguous options)
574 * Slightly improved output if checking the storage subsystem is turned
576 * Don't complain if there are no logical drives. This is OK. Thanks to
577 Jamie Henderson for reporting this
582 * Fix bug in SNMP status level table
587 * Added workaround for a BUG introduced in OpenManage 5.5.0. OM
588 sometimes adds a newline in the controller driver version name,
589 which leads to problems parsing the output. Thanks to Hiren Patel
590 for bringing this to my attention.
595 * (snmp) Improved handling of cases where OM is not working properly
600 * Fixed issue where controller number for physical disks can't be
601 established via SNMP (now identifies as controller no. -1)
606 * Correctly identifies and reports error condition in which OpenManage
607 has stopped working (it happens)
613 * Same options for checking, blacklisting etc. supported with SNMP
614 * Same output with SNMP as with NRPE
619 * Collects performance data if the option '-p' or '--perfdata' is
621 * New blacklisting directives ctrl_fw and ctrl_driver
622 added. Suppresses the "special" warning messages concerning outdated
623 controller firmware and driver. Useful if you can't or won't
629 * Fix getting system model and serial number for newer blades
634 * Three new checks added:
635 - System battery probes (typical CMOS battery). Newer poweredge
637 - Power consumption monitoring (if the server supports it)
638 - ESM log, with same functionality as the alert log check. Disabled
644 * Internal refactoring: use ssv-formatted output from openmanage,
645 resulting in slightly faster execution and increased robustness.
646 * If /usr/bin/omreport doesn't exist, try
647 /opt/dell/srvadmin/oma/bin/omreport.
648 * Allow for no instrumented/redundant power supplies. Needed on
649 low-end poweredge models and blades.
654 * Openmanage reports non-critical warning about throttled CPUs on new
655 hardware models. Most og us use ondemand CPU frequency scaling (with
656 throttled CPUs as a result). This specific non-critical warning (CPU
657 Throttled) is ignored from now on.
658 * Remove superfluous Celcius sign when reporting temperatures.
663 * Accommodate blade systems with no fans or powersupplies, i.e. accept
664 errors from omreport when trying to check fans or powersupplies on
666 * Accommodate newer hardware with slightly different omreport
667 options. Use the newer options if they exist. Not really necessary
668 yet, but deprecated options may be removed in future versions of
674 * When everything is OK, check_openmanage now outputs the same info as
675 Gerhard Lausser's excellent check_hpasm plugin does for HP servers:
677 OK - System: 'poweredge 2850', S/N: 'XXXXXXX', ROM: 'A06
678 10/03/2006', hardware working fine, 2 logical drives, 4 physical