Guide · NAS
Surveiller TrueNAS (SCALE / CORE) avec un dead man's switch
TrueNAS vous alerte quand un pool se dégrade ou qu'une tâche part en erreur. Il reste silencieux quand une tâche Cron, de réplication ou Cloud Sync cesse simplement de se déclencher, est désactivée ou supprimée, ou que la machine elle-même s'éteint. Un check-in à chaque exécution comble ce trou.
1. Créez un check
Créez un check dans Mortemain correspondant au planning de votre tâche plus une fenêtre de grâce, puis copiez son URL de ping.
2. Ajoutez une tâche Cron qui pingue à chaque exécution
Sur SCALE : System Settings → Advanced → Cron Jobs. Sur CORE : Tasks → Cron Jobs. Ajoutez une tâche avec le même planning que celle à surveiller, avec une commande qui pingue à la fin :
curl -fsS -m 10 --retry 3 https://ping.mortemain.com/votre-uuid-de-check
Cochez Hide Standard Output et Hide Standard Error pour que TrueNAS ne vous e-maile pas à chaque succès silencieux. Cela prouve que la machine et cron sont vivants, pas encore que la sauvegarde elle-même a réussi.
3. Conditionnez au vrai résultat de la tâche (recommandé)
Pour une tâche de réplication ou Cloud Sync, déclenchez-la depuis la tâche cron avec midclt et attendez le résultat réel plutôt que de faire confiance à son propre planning. Basculez le planning intégré de la tâche en manuel pour qu'elle ne tourne plus que depuis ce script :
#!/bin/sh # Déclenche une tâche de réplication, attend, puis fait le check-in. URL="https://ping.mortemain.com/votre-uuid-de-check" TASK_ID=1 # Data Protection → Replication Tasks, id affiché sur la ligne de la tâche curl -fsS -m 10 "$URL/start" if midclt call -job replication.run "$TASK_ID" >/tmp/repl-last.log 2>&1; then curl -fsS -m 10 "$URL" else curl -fsS -m 10 "$URL/fail" fi
Enregistrez le script sur un dataset d'un pool de données, pas sous /root sur SCALE, pour qu'il survive aux mises à jour d'environnements de démarrage. Dirigez la commande de la tâche cron vers sh /mnt/tank/scripts/truenas-ping.sh. Remplacez replication.run par cloudsync.sync pour conditionner une tâche Cloud Sync de la même façon.
Vous préférez garder la tâche sur son propre planning ? Les tâches Cloud Sync exposent des champs Pre-Script et Post-Script sous Advanced Options : dirigez Pre-Script vers un appel à $URL/start et Post-Script vers $URL.
4. Testez
Lancez la tâche cron une fois, le check passe actif. Désactivez la tâche (ou débranchez la machine) et confirmez que l'alerte arrive une fois la fenêtre de grâce passée : exactement le mode de panne que l'alerting propre de TrueNAS ne peut pas voir.