Compare commits
No commits in common. "bf1b51c6644094b6b4b857db971bd2bd9e561d23" and "ae8122a38ce071792e8fe779b9ca6512f16b8521" have entirely different histories.
bf1b51c664
...
ae8122a38c
2 changed files with 1 additions and 104 deletions
|
@ -1,10 +1,3 @@
|
||||||
# check_rpi_temperature
|
# check_rpi_temperature
|
||||||
|
|
||||||
Icinga2/Nagios check program for Raspberry Pi temperature
|
Icinga2/Nagios check program for Raspberry Pi temperature
|
||||||
|
|
||||||
## Arguments
|
|
||||||
|
|
||||||
- `--warning 50`: Temperature above which the result is warning
|
|
||||||
- `--critical 70`: Temperature above which the result is critical
|
|
||||||
- `--fahrenheit`: All temperatures in Fahrenheit (°F)
|
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Created by Jonny007-MKD 2020-10-03
|
|
||||||
|
|
||||||
echoerr() { echo "$@" 1>&2; }
|
|
||||||
|
|
||||||
WARN=50
|
|
||||||
CRIT=70
|
|
||||||
FAHRENHEIT=false
|
|
||||||
DEBUG=false
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case $1 in
|
|
||||||
-w|--warn|--warning)
|
|
||||||
case "$2" in
|
|
||||||
''|*[!0-9]*) echoerr "Argument for \"$1\" has to be a number";;
|
|
||||||
esac
|
|
||||||
WARN=$2
|
|
||||||
shift; shift
|
|
||||||
;;
|
|
||||||
-c|--crit|--critical)
|
|
||||||
case "$2" in
|
|
||||||
''|*[!0-9]*) echoerr "Argument for \"$1\" has to be a number";;
|
|
||||||
esac
|
|
||||||
CRIT=$2
|
|
||||||
shift; shift
|
|
||||||
;;
|
|
||||||
-f|--fahrenheit)
|
|
||||||
FAHRENHEIT=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-d|--debug)
|
|
||||||
DEBUG=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-?|--help)
|
|
||||||
echo "Check /proc/mdstat. Arguments:"
|
|
||||||
echo "--warning $WARN: Temperature above which the result is warning"
|
|
||||||
echo "--critical $CRIT: Temperature above which the result is critical"
|
|
||||||
echo "--fahrenheit: All temperatures in Fahrenheit (°F)"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $CRIT -le $WARN ]; then
|
|
||||||
echoerr "Critical threshold ($CRIT) has to be greater than Warning threshold ($WARN)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
function log {
|
|
||||||
if $DEBUG; then
|
|
||||||
echo " > $@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
NL=$'\n'
|
|
||||||
|
|
||||||
|
|
||||||
output=$(/opt/vc/bin/vcgencmd measure_temp)
|
|
||||||
result=$?
|
|
||||||
log vcgencmd: $result. $output
|
|
||||||
if [ $result -ne 0 ]; then
|
|
||||||
echoerr "vcgencmd returned $result"
|
|
||||||
exit $result
|
|
||||||
fi
|
|
||||||
|
|
||||||
temp=${output/temp=/}
|
|
||||||
temp=${temp/\'C/}
|
|
||||||
|
|
||||||
unit="°C"
|
|
||||||
if $FAHRENHEIT; then
|
|
||||||
temp=$(bc <<< "scale=1; ($temp * 1.8) + 32")
|
|
||||||
unit="°F"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
c=$(bc <<< "$temp > $CRIT")
|
|
||||||
w=$(bc <<< "$temp > $WARN")
|
|
||||||
if [ $c -eq 1 ]; then
|
|
||||||
result="CRITICAL"
|
|
||||||
elif [ $w -eq 1 ]; then
|
|
||||||
result="WARNING"
|
|
||||||
else
|
|
||||||
result="OK"
|
|
||||||
fi
|
|
||||||
echo "$result | 'temperature'=$temp;$unit;$WARN;$CRIT;-40;85"
|
|
||||||
|
|
||||||
|
|
||||||
case $result in
|
|
||||||
OK) exit 0;;
|
|
||||||
WARNING) exit 1;;
|
|
||||||
CRITICAL) exit 2;;
|
|
||||||
esac
|
|
||||||
|
|
Loading…
Reference in a new issue