368d6fafea
Code backup
108 lines
3.2 KiB
Bash
108 lines
3.2 KiB
Bash
#! /bin/sh
|
|
|
|
# Variable
|
|
STATE_OK=0
|
|
STATE_WARN=1
|
|
STATE_CRIT=2
|
|
STATE_UNK=3
|
|
|
|
MAX=100
|
|
|
|
BASEURL=$(curl -s 'http://palesp02.pal.local/getValue')
|
|
|
|
# Main Code
|
|
CheckTemperature(){
|
|
|
|
COMMAND=$(echo $BASEURL | python3 -mjson.tool | grep Temperature | cut -d " " -f 10 | cut -d "." -f 1)
|
|
|
|
COMMANDS=$(echo $BASEURL | python3 -mjson.tool | grep Temperature | cut -d " " -f 10 | cut -d "," -f 1)
|
|
RESAULT=$(echo "$COMMANDS °C")
|
|
|
|
case 1 in
|
|
$(($COMMAND<= $WARNING))) echo "OK! Temperature is: $RESAULT"
|
|
exit $STATE_OK ;; # 0-79% Ok
|
|
$(($COMMAND<= $CRITICAL))) echo "WARNING! Temperature is: $RESAULT"
|
|
exit $STATE_WARN ;; # 80-89% Warring
|
|
$(($COMMAND<= $MAX))) echo "CRITICAL! Temperature is: $RESAULT"
|
|
exit $STATE_CRIT ;; # 90-100% Critical
|
|
*) echo "UNKNOWN! Temperature not found"
|
|
exit $STATE_UNK ;;
|
|
esac
|
|
}
|
|
|
|
CheckHumidity(){
|
|
|
|
COMMAND=$(echo $BASEURL | python3 -mjson.tool | grep Humidity | cut -d " " -f 10 | cut -d "." -f 1)
|
|
|
|
COMMANDS=$(echo $BASEURL | python3 -mjson.tool | grep Humidity | cut -d " " -f 10 | cut -d "," -f 1)
|
|
RESAULT=$(echo "$COMMANDS %")
|
|
|
|
case 1 in
|
|
$(($COMMAND<= $WARNING))) echo "OK! Humidity is: $RESAULT"
|
|
exit $STATE_OK ;; # 0-79% Ok
|
|
$(($COMMAND<= $CRITICAL))) echo "WARNING! Humidity is: $RESAULT"
|
|
exit $STATE_WARN ;; # 80-89% Warring
|
|
$(($COMMAND<= $MAX))) echo "CRITICAL! Humidity is: $RESAULT"
|
|
exit $STATE_CRIT ;; # 90-100% Critical
|
|
*) echo "UNKNOWN! Temperature not found"
|
|
exit $STATE_UNK ;;
|
|
esac
|
|
}
|
|
|
|
CheckPressure(){
|
|
|
|
COMMAND=$(echo $BASEURL | python3 -mjson.tool | grep Pressure | cut -d " " -f 10 | cut -d "," -f 1)
|
|
|
|
RESAULT=$(echo "$COMMAND hPa")
|
|
|
|
echo "Pressure is: $RESAULT"
|
|
exit $STATE_OK
|
|
}
|
|
|
|
|
|
|
|
while test -n "$1"; do
|
|
|
|
case "$1" in
|
|
--type|-t)
|
|
CHECK_TYPE=$2
|
|
shift
|
|
;;
|
|
--warning|-w)
|
|
WARNING=$2
|
|
shift
|
|
;;
|
|
--critical|-c)
|
|
CRICICAL=$2
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Unknown argument: $1"
|
|
print_usage
|
|
exit $STATE_UNK
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
# - Type Check
|
|
if [ ! -z $CHECK_TYPE ]; then
|
|
|
|
case "$CHECK_TYPE" in
|
|
Temperature)
|
|
CheckTemperature;;
|
|
Humidity)
|
|
CheckHumidity;;
|
|
Pressure)
|
|
CheckPressure;;
|
|
esac
|
|
|
|
else
|
|
echo "Command incomplete!"
|
|
echo ''
|
|
print_help
|
|
STATE=$STATE_UNK
|
|
fi |