diff options
Diffstat (limited to 'check_sensors')
-rwxr-xr-x | check_sensors | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/check_sensors b/check_sensors new file mode 100755 index 0000000..f0b3650 --- /dev/null +++ b/check_sensors @@ -0,0 +1,32 @@ +#!/bin/bash + +# °C +WARN=75 +CRIT=85 + +PERFDATA="|" +IS_WARN="false" +IS_CRIT="false" + +TEXT=(OK WARNING CRITICAL UNKOWN) +LEVEL=0 + +DATA=( $(sensors | \ + grep "^Core" | \ + sed -n "s|^Core\s[0-9]\+:\s\++\([0-9]\+\.[0-9]\+\)°C.*$|\1|p" ) ) + +for (( i=0; i<${#DATA[@]}; i++ )); do + (( $(echo "${DATA[$i]} > $WARN" | bc -l ) )) && IS_WARN="true" + (( $(echo "${DATA[$i]} > $CRIT" | bc -l ) )) && IS_CRIT="true" + PERFDATA+="core_$i=${DATA[$i]}," +done + +echo $IS_CRIT $IS_WARN + +[ $IS_WARN = true ] && LEVEL=1 +[ $IS_CRIT = true ] && LEVEL=2 +[ ${#DATA[@]} -eq 0 ] && LEVEL=3 + +echo "sensors ${TEXT[$LEVEL]}$PERFDATA" + +exit $LEVEL |