diff --git a/docker-health-check.sh b/docker-health-check.sh index 2aec1fa..5316df0 100755 --- a/docker-health-check.sh +++ b/docker-health-check.sh @@ -9,6 +9,15 @@ WEBHOOK_URL="https://discord.com/api/webhooks/1466011674371821599/KPvSSS53ot4cjI problems=() +# Vérification des points de montage critiques (mergerfs) : un container peut +# rester "Up" tout en ayant un montage cassé en dessous (FUSE mort), donc la +# vérification de l'état des containers seule ne suffit pas. +for mount_point in /mnt/serveurPlex /mnt/serveurNAS; do + if ! timeout 5 stat "$mount_point" > /dev/null 2>&1; then + problems+=("🔴 **$mount_point** inaccessible (montage cassé, transport endpoint not connected ?)") + fi +done + while IFS='|' read -r name state status; do if [ "$state" = "restarting" ]; then problems+=("🔴 **$name** en boucle de redémarrage ($status)") @@ -30,9 +39,9 @@ if [ ${#problems[@]} -eq 0 ]; then exit 0 fi -message="⚠️ **Alerte containers Docker** (${#problems[@]})\n" +message=$'⚠️ **Alerte homelab** ('"${#problems[@]}"$' problème(s))\n' for p in "${problems[@]}"; do - message+="$p\n" + message+="$p"$'\n' done json_payload=$(python3 -c "import json,sys; print(json.dumps({'content': sys.argv[1]}))" "$message")