aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_sensors
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_sensors')
-rwxr-xr-xplugins/check_sensors30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/check_sensors b/plugins/check_sensors
new file mode 100755
index 0000000..8cb1e20
--- /dev/null
+++ b/plugins/check_sensors
@@ -0,0 +1,30 @@
+#!/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]\+\).*$|\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]}C"
+done
+
+[ $IS_WARN = true ] && LEVEL=1
+[ $IS_CRIT = true ] && LEVEL=2
+[ ${#DATA[@]} -eq 0 ] && LEVEL=3
+
+echo "sensors ${TEXT[$LEVEL]}$PERFDATA"
+
+exit $LEVEL