#!/usr/bin/env bash # pi-pruefen.sh — zeigt, ob der Pi und die Projektübersicht stabil laufen. # sudo bash Docker/pi-pruefen.sh (ohne sudo fehlen Docker und Strom) echo "== Speicher ==" free -m echo echo "== Auslagerung (zram) ==" swapon --show 2>/dev/null || echo "keine" echo echo "== Watchdog ==" systemctl show -p RuntimeWatchdogUSec 2>/dev/null [ -e /dev/watchdog ] && echo "/dev/watchdog vorhanden" || echo "/dev/watchdog FEHLT" echo echo "== Speichergrenzen für Container ==" grep -qw memory /sys/fs/cgroup/cgroup.controllers 2>/dev/null && echo "verfügbar" || echo "NICHT verfügbar (cmdline.txt, siehe pi-einrichten.sh)" echo echo "== Container ==" docker ps -a --filter name=projektuebersicht --format 'Status: {{.Status}}' docker inspect projektuebersicht --format 'Neustarts: {{.RestartCount}} Grenze: {{.HostConfig.Memory}} Byte zuletzt gestartet: {{.State.StartedAt}} OOM: {{.State.OOMKilled}}' 2>/dev/null docker stats --no-stream --format 'Verbrauch: {{.MemUsage}} ({{.MemPerc}}) CPU: {{.CPUPerc}}' projektuebersicht 2>/dev/null echo echo "== App ==" curl -s --max-time 5 http://localhost:3003/health || wget -qO- http://localhost:3003/health || echo "antwortet NICHT" echo echo echo "== Neustarts der App (letzte 10 Meldungen) ==" docker logs projektuebersicht 2>&1 | grep -E "Wächter|Unerwarteter Fehler|server running" | tail -10 echo echo "== Speichermangel im System (earlyoom / Kernel) ==" journalctl -u earlyoom --since "-7 days" --no-pager 2>/dev/null | grep -i "sending\|killing" | tail -5 journalctl -k --since "-7 days" --no-pager 2>/dev/null | grep -i "out of memory\|oom-kill" | tail -5 echo echo "== Stromversorgung ==" if command -v vcgencmd >/dev/null; then vcgencmd get_throttled elif [ -r /sys/devices/platform/soc/soc:firmware/get_throttled ]; then echo "throttled=$(cat /sys/devices/platform/soc/soc:firmware/get_throttled) (0 = gut)" else echo "nicht auslesbar"; fi echo echo "== WLAN ==" iw dev wlan0 get power_save 2>/dev/null || echo "nicht auslesbar" systemctl is-active wlan-waechter.timer 2>/dev/null | sed 's/^/Wächter: /' journalctl -t wlan-waechter --since "-7 days" --no-pager 2>/dev/null | tail -5 echo echo "== Letzte Systemstarts ==" last -x reboot 2>/dev/null | head -5