fix: surveillance étendue aux montages mergerfs + format des messages

Le crash mergerfs du 07/09 (2x en 24h) n'était pas détecté par la
version précédente : un container peut rester "Up" tout en ayant un
montage cassé en dessous (FUSE mort silencieusement). Ajout d'une
vérification directe des points de montage /mnt/serveurPlex et
/mnt/serveurNAS.

Corrigé aussi un bug d'affichage : les \n dans le message Discord
restaient en texte littéral au lieu de vrais retours à la ligne
(bash n'interprète pas \n dans une chaîne "..." classique).
This commit is contained in:
perco committed 2026-09-07 22:00:29 +02:00
1 parent ad43042849
commit d6cd86c1d2
1 file changed
+11 -2
+11 -2
View File
@@ -9,6 +9,15 @@ WEBHOOK_URL="https://discord.com/api/webhooks/1466011674371821599/KPvSSS53ot4cjI
problems=() 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 while IFS='|' read -r name state status; do
if [ "$state" = "restarting" ]; then if [ "$state" = "restarting" ]; then
problems+=("🔴 **$name** en boucle de redémarrage ($status)") problems+=("🔴 **$name** en boucle de redémarrage ($status)")
@@ -30,9 +39,9 @@ if [ ${#problems[@]} -eq 0 ]; then
exit 0 exit 0
fi fi
message="⚠️ **Alerte containers Docker** (${#problems[@]})\n" message=$'⚠️ **Alerte homelab** ('"${#problems[@]}"$' problème(s))\n'
for p in "${problems[@]}"; do for p in "${problems[@]}"; do
message+="$p\n" message+="$p"$'\n'
done done
json_payload=$(python3 -c "import json,sys; print(json.dumps({'content': sys.argv[1]}))" "$message") json_payload=$(python3 -c "import json,sys; print(json.dumps({'content': sys.argv[1]}))" "$message")