Add uptimekuma.sh
This commit is contained in:
commit
30152c84ea
40
uptimekuma.sh
Normal file
40
uptimekuma.sh
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
API_URL="https://status.netsyms.net/api/push/"
|
||||||
|
HEARTBEAT_KEY=""
|
||||||
|
ZFS_KEY=""
|
||||||
|
DISK_KEY=""
|
||||||
|
DISK_FULL_ALERT_PERCENT_THRESHOLD=85
|
||||||
|
|
||||||
|
# Heartbeat
|
||||||
|
echo "Sending heartbeat"
|
||||||
|
curl "$API_URL$HEARTBEAT_KEY?status=up"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# ZFS health
|
||||||
|
echo "Sending ZFS health"
|
||||||
|
zpool status -x | grep -q "all pools are healthy" && curl "$API_URL$ZFS_KEY?status=up&msg=ZFS%20Healthy" || curl -G --data-urlencode "status=down" --data-urlencode "msg=$(zpool status -x)" "$API_URL$ZFS_KEY"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Disk usage
|
||||||
|
echo "Sending disk usage"
|
||||||
|
DISKSOK=1
|
||||||
|
USAGES=()
|
||||||
|
while read -r output;
|
||||||
|
do
|
||||||
|
partition=$(echo "$output" | awk '{ print $2 }')
|
||||||
|
percent=$(echo "$output" | awk '{ print $1 }' | cut -d'%' -f1)
|
||||||
|
if [ $percent -ge $DISK_FULL_ALERT_PERCENT_THRESHOLD ]; then
|
||||||
|
USAGES+="$partition: $percent%"
|
||||||
|
DISKSOK=0
|
||||||
|
fi
|
||||||
|
done <<< $(df | grep -vE "^Filesystem|tmpfs|cdrom" | awk '{ print $5 " " $1 }')
|
||||||
|
USAGETEXT=$(IFS=,; echo "${USAGES[*]}")
|
||||||
|
echo $USAGETEXT
|
||||||
|
if [[ "$DISKSOK" == 1 ]]; then
|
||||||
|
curl "$API_URL$DISK_KEY?status=up"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
curl -G --data-urlencode "status=down" --data-urlencode "msg=$USAGETEXT" "$API_URL$DISK_KEY"
|
||||||
|
echo
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user