mirror of
https://github.com/larsen0815/check_rasp_temp.git
synced 2024-11-21 18:03:48 +01:00
first version
This commit is contained in:
parent
79c0bb0d6e
commit
90461829e3
94
check_rasp_temp
Normal file
94
check_rasp_temp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Adapted from check_nagios_latency
|
||||||
|
|
||||||
|
VCGENCMD="/opt/vc/bin/vcgencmd"
|
||||||
|
|
||||||
|
# Prints usage information
|
||||||
|
usage() {
|
||||||
|
|
||||||
|
if [ -n "$1" ] ; then
|
||||||
|
echo "Error: $1" 1>&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Usage: check_rasp_temp [-h?] -w warning -c critical"
|
||||||
|
echo ""
|
||||||
|
echo " -w warning threshold"
|
||||||
|
echo " -c critical threshold"
|
||||||
|
echo " -h, -? this help message"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
exit 3
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Checks if a given program is available and executable
|
||||||
|
check_prog() {
|
||||||
|
|
||||||
|
if [ -z "$PROG" ] ; then
|
||||||
|
PROG=`which $1`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PROG" ] ; then
|
||||||
|
echo "TEMPERATURE UNKNOWN - cannot find $1"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROG=""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Main
|
||||||
|
# check progs
|
||||||
|
check_prog awk
|
||||||
|
check_prog bc
|
||||||
|
|
||||||
|
|
||||||
|
# process command line options
|
||||||
|
while getopts "h?c:w:" opt; do
|
||||||
|
case $opt in
|
||||||
|
c ) CRITICAL=$OPTARG; ;;
|
||||||
|
h | \? ) usage ; exit 3; ;;
|
||||||
|
w ) WARNING=$OPTARG; ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(($OPTIND - 1))
|
||||||
|
|
||||||
|
|
||||||
|
# Check options
|
||||||
|
if [ -z "${WARNING}" ] ; then
|
||||||
|
usage "No warning threshold specified"
|
||||||
|
fi
|
||||||
|
if [ -z "${CRITICAL}" ] ; then
|
||||||
|
usage "No critical threshold specified"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check number formats
|
||||||
|
if ! echo $WARNING | grep -qE '^[0-9]+(\.[0-9]+)?$' ; then
|
||||||
|
echo "TEMPERATURE UNKOWN - Wrong number: $WARNING"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
if ! echo $CRITICAL | grep -qE '^[0-9]+(\.[0-9]+)?$' ; then
|
||||||
|
echo "TEMPERATURE UNKOWN - Wrong number: $CRITICAL"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Perform the checks
|
||||||
|
TEMP=`$VCGENCMD measure_temp | awk -F"=" '{print $2}' | awk -F"'" '{print $1}'`
|
||||||
|
PERF="temp=${TEMP};${WARNING};${CRITICAL};;"
|
||||||
|
|
||||||
|
COMPARISON=`echo "if($TEMP>=$CRITICAL) 1 else 0;" | bc`
|
||||||
|
if [ $COMPARISON -eq 1 ] ; then
|
||||||
|
echo "TEMPERATURE CRITICAL: $TEMP | $PERF"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMPARISON=`echo "if($TEMP>=$WARNING) 1 else 0;" | bc`
|
||||||
|
if [ $COMPARISON -eq 1 ] ; then
|
||||||
|
echo "TEMPERATURE WARNING: $TEMP | $PERF"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "TEMPERATURE OK: $TEMP | $PERF"
|
||||||
|
exit 0;
|
Loading…
Reference in New Issue
Block a user