From 27249d805ae989ccef44be7245abd0cd9c6aee2f Mon Sep 17 00:00:00 2001 From: Barry O'Donovan Date: Sun, 13 Sep 2015 10:26:05 +0100 Subject: [PATCH] Dig deeper into fan checks --- check_chassis_extreme.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/check_chassis_extreme.php b/check_chassis_extreme.php index d5abf69..6ddeaa7 100755 --- a/check_chassis_extreme.php +++ b/check_chassis_extreme.php @@ -196,12 +196,19 @@ function checkFans() foreach( $fans as $i => $operational ) { - _log( "Fan: {$i} - " . ( $operational ? 'OK' : 'NOT OK' ) . " ({$speeds[$i]} RPM)", LOG__VERBOSE ); - $fandata .= " [{$i} - " . ( $operational ? 'OK' : 'NOT OK' ) . " ({$speeds[$i]} RPM)];"; + $ok = $operational && $speeds[$i] >= 2000; + + _log( "Fan: {$i} - " . ( $ok ? 'OK' : 'NOT OK' ) . " ({$speeds[$i]} RPM)", LOG__VERBOSE ); + $fandata .= " [{$i} - " . ( $ok ? 'OK' : 'NOT OK' ) . " ({$speeds[$i]} RPM)];"; - if( !$operational ) { + if( !$ok ) { setStatus( STATUS_CRITICAL ); - $criticals .= "Fan {$i} is NOT operational"; + if( $operational && $speeds[$i] < 2000 ) + $criticals .= "Fan {$i} is operational but speed is outside normal operating range (<2000). "; + else if( !$operational ) + $criticals .= "Fan {$i} is not operational. "; + else + $criticals .= "Fan {$i} is not operational (reason unknown). "; } }