Inital Comit Upload Config Files
This commit is contained in:
49
scripts/server-status.sh
Executable file
49
scripts/server-status.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
SERVER="10.0.0.15"
|
||||
SSH_TARGET="root@$SERVER"
|
||||
|
||||
if ping -c 1 -W 1 "$SERVER" >/dev/null 2>&1; then
|
||||
|
||||
STATS=$(ssh -o ConnectTimeout=2 -o BatchMode=yes "$SSH_TARGET" '
|
||||
|
||||
CPU=$(top -bn1 | grep "Cpu(s)" | awk "{print int(\$2+\$4)}")
|
||||
|
||||
RAM=$(free | awk "/Mem:/ {printf \"%.0f\", (\$3/\$2)*100}")
|
||||
|
||||
DISK=$(df / | awk "NR==2 {gsub(\"%\",\"\",\$5); print \$5}")
|
||||
|
||||
LOAD=$(cut -d " " -f1 /proc/loadavg)
|
||||
|
||||
UPTIME=$(uptime -p | sed "s/up //")
|
||||
|
||||
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null | awk "{printf \"%.0f\", \$1/1000}")
|
||||
|
||||
DOCKER=$(docker ps -q 2>/dev/null | wc -l)
|
||||
|
||||
printf "CPU: %3s%%\nRAM: %3s%%\nDisk: %3s%%\nLoad: %s\nUp: %s\nTemp: %s°C\nDocker: %s running" \
|
||||
"$CPU" "$RAM" "$DISK" "$LOAD" "$UPTIME" "$TEMP" "$DOCKER"
|
||||
|
||||
' 2>/dev/null)
|
||||
|
||||
if [ -n "$STATS" ]; then
|
||||
TEXT=""
|
||||
CLASS="online"
|
||||
TOOLTIP=$(printf "PDEV Server (%s)\n\n%s" "$SERVER" "$STATS")
|
||||
else
|
||||
TEXT=""
|
||||
CLASS="warning"
|
||||
TOOLTIP=$(printf "Server erreichbar\nSSH Verbindung fehlgeschlagen")
|
||||
fi
|
||||
|
||||
else
|
||||
TEXT=""
|
||||
CLASS="offline"
|
||||
TOOLTIP="Server offline"
|
||||
fi
|
||||
|
||||
jq -cn \
|
||||
--arg text "$TEXT" \
|
||||
--arg tooltip "$TOOLTIP" \
|
||||
--arg class "$CLASS" \
|
||||
'{text:$text, tooltip:$tooltip, class:$class}'
|
||||
Reference in New Issue
Block a user