=================================================================== RCS file: /cvs/nagios/check_hw_sensors/check_hw_sensors,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- nagios/check_hw_sensors/check_hw_sensors 2006/12/05 16:26:27 1.21 +++ nagios/check_hw_sensors/check_hw_sensors 2007/01/06 03:16:41 1.22 @@ -1,5 +1,5 @@ #!/usr/bin/perl -T -# $RedRiver: check_hw_sensors,v 1.20 2006/12/05 00:17:47 andrew Exp $ +# $RedRiver: check_hw_sensors,v 1.21 2006/12/05 16:26:27 andrew Exp $ ######################################################################## # check_hw_sensors *** A nagios check for OpenBSD hw.sensors # @@ -117,7 +117,7 @@ } if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.21 $ '); + print_revision($PROGNAME,'$Revision: 1.22 $ '); exit $ERRORS{'OK'}; } @@ -153,6 +153,7 @@ #while (<>) { chomp; my ($id, $output) = split /=/; + my @s = split /\./, $id; my @o = split /,\s*/, $output; my ($type, $source, $descr, $data, $status); @@ -160,7 +161,12 @@ $source = $o[0]; $descr = $o[1]; - if ($OSVer >= 4.0) { + if (@s == 4) { # XXX This mebbe needs to end up $OSVer >= 4.1 + $data = $o[0]; + $descr =~ s/^\(|\)$//g; + $status = $o[2]; + ($source, $type) = $id =~ /([^\.]+)\.([^\.]+)\d+$/; + } elsif ($OSVer >= 4.0) { $data = $o[2]; $status = $o[3]; foreach my $t (@Type_Map) { @@ -322,6 +328,7 @@ foreach my $code ('warn', 'crit') { if ( $sensor->{'type'} eq 'fanrpm' || + $sensor->{'type'} eq 'volt' || $sensor->{'type'} eq 'volts_dc' || $sensor->{'type'} eq 'amps' || $sensor->{'type'} eq 'watthour' || @@ -556,6 +563,6 @@ EOL - print_revision($PROGNAME, '$Revision: 1.21 $'); + print_revision($PROGNAME, '$Revision: 1.22 $'); }