Monitoring31 janvier 2026 9 min de lecture

Dead Man's Switch : Assurez que vos Jobs Critiques n'Échouent Jamais en Silence

Comprenez le monitoring dead man's switch pour les systèmes critiques. Apprenez à implémenter des alertes fail-safe pour les jobs qui doivent fonctionner de façon fiable.

WizStatus Team
Auteur

Un dead man's switch est un mécanisme qui se déclenche quand un signal attendu s'arrête. En monitoring, cela signifie : "Si vous n'avez pas de mes nouvelles, quelque chose ne va pas." Ce pattern est essentiel pour les jobs critiques qui ne doivent jamais échouer silencieusement.

Qu'est-ce qu'un Dead Man's Switch ?

Le terme vient des mécanismes de sécurité dans les trains et les machines. Si l'opérateur devient incapacité, le switch se déclenche car il arrête de le maintenir activement.

En monitoring logiciel :

Check traditionnel : "Êtes-vous vivant ?" Dead man's switch : "Manifestez-vous régulièrement, sinon je supposerai que vous êtes mort."

Le système attend des manifestations régulières. Le silence indique un échec.

Quand Utiliser le Dead Man's Switch

Jobs Planifiés Critiques

Jobs où l'échec a des conséquences sérieuses :

  • Traitement financier - Paiements, réconciliation
  • Sauvegardes de données - Base de données, système de fichiers
  • Rapports de conformité - Soumissions réglementaires
  • Scans de sécurité - Évaluations de vulnérabilités

Services Toujours Actifs

Processus qui ne devraient jamais s'arrêter :

  • Workers de queue
  • Processeurs de flux
  • Processus daemon
  • Services en arrière-plan

Systèmes Distants

Systèmes sans accès direct au monitoring :

  • Appareils IoT
  • Nœuds edge computing
  • Systèmes air-gapped
  • Logiciels déployés chez les clients

Implémenter le Dead Man's Switch

Implémentation Basique

import requests
import schedule

def heartbeat():
    requests.get("https://monitor.example.com/ping/token")

def job_critique():
    # Faire le travail important
    traiter_paiements()

    # Signaler la completion
    heartbeat()

# Exécuter toutes les 5 minutes
schedule.every(5).minutes.do(job_critique)

Avec Gestion des Erreurs

def job_critique():
    try:
        traiter_paiements()
        heartbeat()  # Pinguer uniquement en cas de succès
    except Exception as e:
        log_erreur(e)
        # Ne pas pinguer - laisser le switch se déclencher
        raise

Directives de Configuration

Fréquence de Check

À quelle fréquence le job doit-il pinguer ?

Fréquence du JobFréquence du Ping
Chaque minuteChaque minute
Toutes les 5 minutesToutes les 5 minutes
HoraireHoraire
QuotidienQuotidien
HebdomadaireHebdomadaire

Période de Grâce

Combien de temps attendre avant d'alerter ?

Formule : Durée attendue + tampon + latence réseau

Exemples :

  • Job de 1 minute → grâce de 3 minutes
  • Job de 5 minutes → grâce de 10 minutes
  • Job de 30 minutes → grâce de 45 minutes
  • Job de 2 heures → grâce de 2.5 heures
Définissez la période de grâce légèrement plus longue que la durée maximum attendue du job. Trop courte cause de fausses alertes ; trop longue retarde la détection.

Bonnes Pratiques

1. Pingez Uniquement en Cas de Succès

Ne pingez jamais quand le job échoue. L'absence de ping est le signal.

2. Utilisez des Réessais pour les Pings

curl --retry 3 --retry-delay 5 $PING_URL

3. Testez le Flux Complet

Vérifiez régulièrement :

  1. Job réussit → ping reçu → pas d'alerte
  2. Job échoue → pas de ping → alerte déclenchée
  3. L'alerte atteint les bonnes personnes

4. Documentez Tout

Maintenez la documentation de :

  • Ce que chaque moniteur surveille
  • Planning attendu et période de grâce
  • Qui est alerté
  • Procédures de réponse

Conclusion

Le monitoring dead man's switch est le filet de sécurité pour vos jobs critiques. Quand le monitoring actif échoue (parce que le service est down), le monitoring passif capte le silence.

Pour tout job où l'échec a des conséquences, implémentez un dead man's switch. Le coût de la configuration est de quelques minutes ; le coût d'un échec silencieux est des heures d'indisponibilité et de perte de données.

Protégez vos jobs critiques avec le monitoring heartbeat WizStatus. Ne laissez plus jamais une tâche planifiée échouer silencieusement.

Articles connexes

Comment Monitorer vos Sauvegardes et Recevoir des Alertes
Bonnes Pratiques

Comment Monitorer vos Sauvegardes et Recevoir des Alertes

Configurez un monitoring fiable pour vos sauvegardes de bases de données et fichiers. Recevez des alertes instantanées quand les jobs de sauvegarde échouent.
10 min de lecture
Comment Monitorer vos Tâches Cron : Guide Étape par Étape
Tutoriels

Comment Monitorer vos Tâches Cron : Guide Étape par Étape

Apprenez à configurer le monitoring pour vos tâches cron. Recevez des alertes quand les tâches planifiées échouent, durent trop longtemps ou ne s'exécutent pas.
10 min de lecture
Monitoring de Pipelines ETL : Détecter les Échecs Silencieux
DevOps

Monitoring de Pipelines ETL : Détecter les Échecs Silencieux

Monitorez vos pipelines ETL avec des checks heartbeat. Recevez des alertes quand les pipelines de données échouent ou produisent des résultats inattendus.
11 min de lecture

Commencez à surveiller votre infrastructure dès aujourd'hui

Mettez ces conseils en pratique avec le monitoring WizStatus.

Essayer WizStatus Gratuitement