clear up
This commit is contained in:
@@ -1,15 +0,0 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
|
||||||
uptime-kuma:
|
|
||||||
image: louislam/uptime-kuma:latest
|
|
||||||
container_name: uptime-kuma
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /root/monitoring/uptime-kuma:/app/data
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:3001:3001" # nur lokal, reverse proxy via nginx empfohlen
|
|
||||||
extra_hosts:
|
|
||||||
- "proxmox.cutemeli.com:10.10.0.1"
|
|
||||||
- "share.cutemeli.com:10.10.0.1"
|
|
||||||
- "monitor.cutemeli.com:10.10.0.1"
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# ==== KONFIG ====
|
|
||||||
PUSH_URL="http://127.0.0.1:3001/api/push/O2EhJUkH4n"
|
|
||||||
LOG_FILE="/var/log/host-health.log"
|
|
||||||
|
|
||||||
CURL="/usr/bin/curl"
|
|
||||||
SYSTEMCTL="/bin/systemctl"
|
|
||||||
DATESTAMP="$(date -Is)"
|
|
||||||
|
|
||||||
# Warn- und Kritisch-Schwellen
|
|
||||||
CPU_WARN=5.0 # Load > 5 Warnung
|
|
||||||
CPU_CRIT=10.0 # Load > 10 kritisch
|
|
||||||
RAM_WARN=85 # >85% RAM Warnung
|
|
||||||
RAM_CRIT=95 # >95% RAM kritisch
|
|
||||||
DISK_WARN=80 # >80% Disk Warnung
|
|
||||||
DISK_CRIT=95 # >95% Disk kritisch
|
|
||||||
|
|
||||||
# ==== MESSWERTE ====
|
|
||||||
CPU_LOAD="$(awk '{print $1}' /proc/loadavg)"
|
|
||||||
RAM_PCT="$(free | awk '/Mem:/ {printf "%.0f", ($3/$2)*100}')"
|
|
||||||
DISK_PCT="$(df -P / | awk 'NR==2 {gsub("%","",$5); print $5}')"
|
|
||||||
|
|
||||||
# Ping zur Default-Gateway oder extern (hier Google DNS)
|
|
||||||
PING_MS="$(ping -c1 -W1 8.8.8.8 | awk -F'time=' '/time=/{print $2}' | cut -d' ' -f1 || echo "NaN")"
|
|
||||||
|
|
||||||
# Dienste-Status
|
|
||||||
svc_ok () { $SYSTEMCTL is-active --quiet "$1" && echo OK || echo FAIL; }
|
|
||||||
NGINX_STATUS="$(svc_ok nginx)"
|
|
||||||
DOCKER_STATUS="$(svc_ok docker)"
|
|
||||||
WG_STATUS="$(svc_ok wg-quick@wg0)"
|
|
||||||
PVEVM_STATUS="$(svc_ok proxmox-vm)"
|
|
||||||
|
|
||||||
# ==== STATUS LOGIK ====
|
|
||||||
STATUS="up"
|
|
||||||
MSG=""
|
|
||||||
|
|
||||||
# CPU Check
|
|
||||||
if (( $(echo "$CPU_LOAD > $CPU_CRIT" | bc -l) )); then
|
|
||||||
STATUS="down"; MSG+="CPU:CRIT(${CPU_LOAD}) "
|
|
||||||
elif (( $(echo "$CPU_LOAD > $CPU_WARN" | bc -l) )); then
|
|
||||||
MSG+="CPU:WARN(${CPU_LOAD}) "
|
|
||||||
else
|
|
||||||
MSG+="CPU:${CPU_LOAD} "
|
|
||||||
fi
|
|
||||||
|
|
||||||
# RAM Check
|
|
||||||
if [ "$RAM_PCT" -ge "$RAM_CRIT" ]; then
|
|
||||||
STATUS="down"; MSG+="RAM:CRIT(${RAM_PCT}%) "
|
|
||||||
elif [ "$RAM_PCT" -ge "$RAM_WARN" ]; then
|
|
||||||
MSG+="RAM:WARN(${RAM_PCT}%) "
|
|
||||||
else
|
|
||||||
MSG+="RAM:${RAM_PCT}% "
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disk Check
|
|
||||||
if [ "$DISK_PCT" -ge "$DISK_CRIT" ]; then
|
|
||||||
STATUS="down"; MSG+="DISK:CRIT(${DISK_PCT}%) "
|
|
||||||
elif [ "$DISK_PCT" -ge "$DISK_WARN" ]; then
|
|
||||||
MSG+="DISK:WARN(${DISK_PCT}%) "
|
|
||||||
else
|
|
||||||
MSG+="DISK:${DISK_PCT}% "
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Dienste Check
|
|
||||||
for svc in NGINX:$NGINX_STATUS DOCKER:$DOCKER_STATUS WG:$WG_STATUS PVEVM:$PVEVM_STATUS; do
|
|
||||||
name="${svc%%:*}"; val="${svc##*:}"
|
|
||||||
if [ "$val" != "OK" ]; then
|
|
||||||
STATUS="down"; MSG+="$name:FAIL "
|
|
||||||
else
|
|
||||||
MSG+="$name:OK "
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Ping (nur Info)
|
|
||||||
MSG+="PING:${PING_MS}ms"
|
|
||||||
|
|
||||||
# ==== PUSH ====
|
|
||||||
HTTP_CODE="$($CURL -sS -o /tmp/kuma_push.out -w "%{http_code}" \
|
|
||||||
--get \
|
|
||||||
--data-urlencode "status=${STATUS}" \
|
|
||||||
--data-urlencode "msg=${MSG}" \
|
|
||||||
--data-urlencode "ping=${PING_MS}" \
|
|
||||||
"${PUSH_URL}")" || true
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
echo "${DATESTAMP} status=${STATUS} msg='${MSG}' http=${HTTP_CODE}" >> "$LOG_FILE"
|
|
||||||
|
|
||||||
if [[ "$HTTP_CODE" != "200" ]]; then
|
|
||||||
echo "${DATESTAMP} ERROR: Kuma Push HTTP ${HTTP_CODE}" >> "$LOG_FILE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[2025-10-02 16:37:39] [Error: insert into `heartbeat` (`down_count`, `duration`, `important`, `monitor_id`, `msg`, `status`, `time`) values (0, 0, true, 7, 'queryA ETIMEOUT 217.154.245.77', 0, '2025-10-02 14:37:16.510') - SQLITE_CONSTRAINT: FOREIGN KEY constraint failed] {
|
|
||||||
errno: 19,
|
|
||||||
code: 'SQLITE_CONSTRAINT'
|
|
||||||
}
|
|
||||||
Binary file not shown.
Reference in New Issue
Block a user