=================================================================== RCS file: /cvs/nagios/check_hw_sensors/check_hw_sensors,v retrieving revision 1.22 retrieving revision 1.25 diff -u -r1.22 -r1.25 --- nagios/check_hw_sensors/check_hw_sensors 2007/01/06 03:16:41 1.22 +++ nagios/check_hw_sensors/check_hw_sensors 2008/03/10 17:21:53 1.25 @@ -1,5 +1,5 @@ #!/usr/bin/perl -T -# $RedRiver: check_hw_sensors,v 1.21 2006/12/05 16:26:27 andrew Exp $ +# $RedRiver: check_hw_sensors,v 1.24 2007/02/14 21:59:10 andrew Exp $ ######################################################################## # check_hw_sensors *** A nagios check for OpenBSD hw.sensors # @@ -7,13 +7,14 @@ ######################################################################## # TODO: # Really need real documentation. +# allow checking of hw.sensors on a remote host with ssh somehow ######################################################################## use strict; use warnings; %ENV = (); -use constant NAGIOS_OUTPUT => 0; +use constant NAGIOS_OUTPUT => 1; use POSIX; use Config; @@ -117,7 +118,7 @@ } if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.22 $ '); + print_revision($PROGNAME,'$Revision: 1.25 $ '); exit $ERRORS{'OK'}; } @@ -161,11 +162,13 @@ $source = $o[0]; $descr = $o[1]; - if (@s == 4) { # XXX This mebbe needs to end up $OSVer >= 4.1 + if ($OSVer >= 4.1) { $data = $o[0]; - $descr =~ s/^\(|\)$//g; - $status = $o[2]; - ($source, $type) = $id =~ /([^\.]+)\.([^\.]+)\d+$/; + if ($data =~ s/\s+\((.*)\).*$//) { + $descr = $1; + } + $status = $o[1]; + ($source, $type) = $id =~ /([^\.]+)\.([^\.]+?)\d+$/; } elsif ($OSVer >= 4.0) { $data = $o[2]; $status = $o[3]; @@ -327,6 +330,7 @@ $result = 'OK'; foreach my $code ('warn', 'crit') { if ( + $sensor->{'type'} eq 'fan' || $sensor->{'type'} eq 'fanrpm' || $sensor->{'type'} eq 'volt' || $sensor->{'type'} eq 'volts_dc' || @@ -563,6 +567,6 @@ EOL - print_revision($PROGNAME, '$Revision: 1.22 $'); + print_revision($PROGNAME, '$Revision: 1.25 $'); }