version 1.36, 2009/11/10 23:26:13 |
version 1.37, 2009/11/10 23:41:12 |
|
|
#!/usr/bin/perl -T |
#!/usr/bin/perl -T |
# $RedRiver: check_hw_sensors,v 1.35 2009/11/10 23:15:15 andrew Exp $ |
# $RedRiver: check_hw_sensors,v 1.36 2009/11/10 23:26:13 andrew Exp $ |
######################################################################## |
######################################################################## |
# check_hw_sensors *** A nagios check for OpenBSD sysctl hw.sensors |
# check_hw_sensors *** A nagios check for OpenBSD sysctl hw.sensors |
# |
# |
|
|
} |
} |
$CHECK_SENSOR = $SENSOR; |
$CHECK_SENSOR = $SENSOR; |
|
|
$CHECKS{$SENSOR}{'warn'} = $WARNING; |
$CHECKS{$SENSOR}{'warn'} = $WARNING if $WARNING; |
$CHECKS{$SENSOR}{'crit'} = $CRITICAL; |
$CHECKS{$SENSOR}{'crit'} = $CRITICAL if $CRITICAL; |
|
|
} |
} |
elsif ( defined $FILENAME ) { |
elsif ( defined $FILENAME ) { |
%CHECKS = read_file($FILENAME); |
%CHECKS = read_file($FILENAME); |
|
|
|
|
my $have_results = 0; |
my $have_results = 0; |
$state = 'OK'; |
$state = 'OK'; |
foreach my $error ( reverse sort { $ERRORS{$a} <=> $ERRORS{$b} } keys %ERRORS ) { |
foreach |
|
my $error ( reverse sort { $ERRORS{$a} <=> $ERRORS{$b} } keys %ERRORS ) |
|
{ |
if ( exists $STATES{$error} ) { |
if ( exists $STATES{$error} ) { |
$have_results++; |
$have_results++; |
$state = $error if $ERRORS{$state} < $ERRORS{$error}; |
$state = $error if $ERRORS{$state} < $ERRORS{$error}; |
|
|
if ($NAGIOS_OUTPUT) { |
if ($NAGIOS_OUTPUT) { |
print $error . ' (' . scalar( @{ $STATES{$error} } ) . ')'; |
print $error . ' (' . scalar( @{ $STATES{$error} } ) . ')'; |
if ( $error ne 'OK' ) { |
if ( $error ne 'OK' ) { |
s/\s+/ /gxms; |
|
print '<br>'; |
print '<br>'; |
print map {" - $_<br>"} @{ $STATES{$error} }; |
print map { s/\s+//xms; " - $_<br>" } @{ $STATES{$error} }; |
} |
} |
} |
} |
else { |
else { |
|
|
$r = check_sensor( $sensor, $C->{ $sensor->{id} } ); |
$r = check_sensor( $sensor, $C->{ $sensor->{id} } ); |
$data = $sensor->{id} . '=' . $sensor->{output}; |
$data = $sensor->{id} . '=' . $sensor->{output}; |
} |
} |
elsif ( !$O->{ignore_status} && $sensor->{status} ) { |
elsif ( $sensor->{status} && !$O->{IGNORE_STATUS} ) { |
$r = check_sensor( $sensor, { STATUS => 1 } ); |
$r = check_sensor( $sensor, { STATUS => 1 } ); |
$data = $sensor->{id} . '=' . $sensor->{output}; |
$data = $sensor->{id} . '=' . $sensor->{output}; |
} |
} |