Moniteurs Heartbeat (tâches cron)

Qu'est-ce qu'un moniteur Heartbeat

Un moniteur Heartbeat est un dispositif d'homme mort passif pour le travail censé s'exécuter selon un planning — tâches cron, sauvegardes nocturnes, pipelines ETL, workers de file d'attente et autres tâches d'arrière-plan similaires. Au lieu que LoadFocus appelle votre service, votre tâche appelle LoadFocus chaque fois qu'elle se termine avec succès. Si le ping attendu n'arrive pas à temps, le moniteur passe à l'état DOWN et les alertes se déclenchent.

Contrairement aux vérifications actives, un moniteur Heartbeat ne sonde rien et n'a aucune région — il attend simplement que votre tâche se signale. Cela le rend idéal pour vérifier que le travail planifié s'est réellement exécuté, et pas seulement qu'un point de terminaison est accessible.

Comment ça fonctionne

  1. Vous créez un moniteur Heartbeat et définissez un intervalle de ping attendu et une période de grâce.
  2. LoadFocus vous fournit une URL de ping unique.
  3. Votre tâche envoie un ping à cette URL à chaque exécution réussie.
  4. Si un ping arrive dans la fenêtre attendue, le moniteur reste UP.
  5. Si aucun ping n'arrive dans le délai intervalle + période de grâce, le moniteur passe à DOWN et les alertes se déclenchent.
  6. Le ping réussi suivant rétablit le moniteur à l'état UP.

Tous les délais et intervalles sont exprimés en secondes.

Créer un moniteur Heartbeat

  1. Ouvrez la page Nouvelle vérification API.
  2. Choisissez le type Heartbeat.
  3. Définissez l'intervalle de ping attendu en secondes — à quelle fréquence votre tâche est censée se signaler (par exemple, 3600 pour une tâche horaire).
  4. Définissez une période de grâce en secondes — la marge supplémentaire que vous accordez avant de déclarer la tâche en retard (par exemple, 300).
  5. Copiez l'URL de ping unique que LoadFocus génère.
  6. Choisissez vos canaux d'alerte et enregistrez.

Envoyer un ping à l'URL depuis votre tâche

Faites en sorte que votre tâche appelle l'URL de ping une fois qu'elle se termine avec succès. GET, POST ou HEAD fonctionnent indifféremment.

Le moyen le plus simple est d'ajouter un appel curl à la fin de votre script ou de votre entrée cron :

curl -fsS https://apimonitor.loadfocus.com/heartbeat/<your-ping-id>

L'option -f fait échouer curl en cas d'erreurs HTTP, -s le rend silencieux, et -S affiche tout de même les véritables erreurs. N'exécutez ceci qu'en cas de succès — par exemple, comme dernière ligne de la tâche — afin qu'une exécution échouée n'envoie pas de ping et que le moniteur détecte correctement l'absence.

Alertes et rétablissement

  • Lorsque le délai intervalle + grâce s'écoule sans ping, le moniteur bascule à DOWN et vos canaux d'alerte sont notifiés.
  • Lorsque le ping suivant arrive, le moniteur se rétablit à UP et une notification de rétablissement est envoyée.

Cela vous donne une confirmation rapide et fiable que votre travail planifié s'exécute réellement — et une alerte claire dès l'instant où il s'arrête silencieusement.

Pour des vérifications actives basées sur les régions, consultez plutôt Comment créer une nouvelle vérification API.