@@ -49,7 +49,7 @@
# Version and similar info
$NAME = 'check_openmanage';
-$VERSION = '3.7.4';
+$VERSION = '3.7.5';
$AUTHOR = 'Trond H. Amundsen';
$CONTACT = 't.h.amundsen@usit.uio.no';
@@ -2863,11 +2863,11 @@
# Convert temp units
if ($opt{tempunit} ne 'C') {
- $reading = temp_from_celsius($reading, $opt{tempunit});
- $max_warn = temp_from_celsius($max_warn, $opt{tempunit});
- $max_crit = temp_from_celsius($max_crit, $opt{tempunit});
- $min_warn = temp_from_celsius($min_warn, $opt{tempunit});
- $min_crit = temp_from_celsius($min_crit, $opt{tempunit});
+ $reading = temp_from_celsius($reading, $opt{tempunit}) if $reading ne '[N/A]';
+ $max_warn = temp_from_celsius($max_warn, $opt{tempunit}) if $max_warn ne '[N/A]';
+ $max_crit = temp_from_celsius($max_crit, $opt{tempunit}) if $max_crit ne '[N/A]';
+ $min_warn = temp_from_celsius($min_warn, $opt{tempunit}) if $min_warn ne '[N/A]';
+ $min_crit = temp_from_celsius($min_crit, $opt{tempunit}) if $min_crit ne '[N/A]';
}
# Inactive temp probes
@@ -2876,25 +2876,25 @@
$name, $encl_id, $encl_name, $state;
report('storage', $msg, $E_OK, $nexus);
}
- elsif ($status ne 'Ok' and $max_crit ne '[N/A]' and $reading > $max_crit) {
+ elsif ($status ne 'Ok' and $reading ne '[N/A]' and $max_crit ne '[N/A]' and $reading > $max_crit) {
my $msg = sprintf '%s in enclosure %s [%s] is critically high at %s %s',
$name, $encl_id, $encl_name, $reading, $opt{tempunit};
my $err = $snmp ? $probestatus2nagios{$status} : $status2nagios{$status};
report('chassis', $msg, $err, $nexus);
}
- elsif ($status ne 'Ok' and $max_warn ne '[N/A]' and $reading > $max_warn) {
+ elsif ($status ne 'Ok' and $reading ne '[N/A]' and $max_warn ne '[N/A]' and $reading > $max_warn) {
my $msg = sprintf '%s in enclosure %s [%s] is too high at %s %s',
$name, $encl_id, $encl_name, $reading, $opt{tempunit};
my $err = $snmp ? $probestatus2nagios{$status} : $status2nagios{$status};
report('chassis', $msg, $err, $nexus);
}
- elsif ($status ne 'Ok' and $min_crit ne '[N/A]' and $reading < $min_crit) {
+ elsif ($status ne 'Ok' and $reading ne '[N/A]' and $min_crit ne '[N/A]' and $reading < $min_crit) {
my $msg = sprintf '%s in enclosure %s [%s] is critically low at %s %s',
$name, $encl_id, $encl_name, $reading, $opt{tempunit};
my $err = $snmp ? $probestatus2nagios{$status} : $status2nagios{$status};
report('chassis', $msg, $err, $nexus);
}
- elsif ($status ne 'Ok' and $min_warn ne '[N/A]' and $reading < $min_warn) {
+ elsif ($status ne 'Ok' and $reading ne '[N/A]' and $min_warn ne '[N/A]' and $reading < $min_warn) {
my $msg = sprintf '%s in enclosure %s [%s] is too low at %s %s',
$name, $encl_id, $encl_name, $reading, $opt{tempunit};
my $err = $snmp ? $probestatus2nagios{$status} : $status2nagios{$status};
@@ -3544,11 +3544,11 @@
# Convert temp units
if ($opt{tempunit} ne 'C') {
- $reading = temp_from_celsius($reading, $opt{tempunit});
- $max_warn = temp_from_celsius($max_warn, $opt{tempunit});
- $max_crit = temp_from_celsius($max_crit, $opt{tempunit});
- $min_warn = temp_from_celsius($min_warn, $opt{tempunit});
- $min_crit = temp_from_celsius($min_crit, $opt{tempunit});
+ $reading = temp_from_celsius($reading, $opt{tempunit}) if $reading ne '[N/A]';
+ $max_warn = temp_from_celsius($max_warn, $opt{tempunit}) if $max_warn ne '[N/A]';
+ $max_crit = temp_from_celsius($max_crit, $opt{tempunit}) if $max_crit ne '[N/A]';
+ $min_warn = temp_from_celsius($min_warn, $opt{tempunit}) if $min_warn ne '[N/A]';
+ $min_crit = temp_from_celsius($min_crit, $opt{tempunit}) if $min_crit ne '[N/A]';
}
if ($type eq 'Discrete') {
@@ -4989,6 +4989,7 @@
15 => 'secondaryBackPlaneESM3And4', # Secondary Backplane for ESM 3 and 4 systems
16 => 'rac', # Remote Access Controller
17 => 'iDRAC', # Integrated Dell Remote Access Controller
+ 18 => 'iDRAC', # Same as above (OMSA 7.0.0 bug!)
19 => 'unifiedServerConfigurator', # Unified Server Configurator
20 => 'lifecycleController', # Lifecycle Controller
);
|