Tous les articles

Surveiller une tâche planifiée avec un heartbeat

Yann1 min de lectureRead it in English

Une sauvegarde qui ne tourne plus ne prévient personne. Comment être alerté quand une tâche planifiée se tait.

Certaines pannes sont silencieuses : une sauvegarde nocturne qui ne tourne plus, un script d’envoi de factures bloqué, une tâche cron supprimée par erreur. Rien ne plante, rien ne s’affiche, et on s’en rend compte le jour où on en a besoin.

Inverser le sens de la vérification

Avec le type Heartbeat (Push), ce n’est pas NorminUp qui contacte votre service : c’est votre tâche qui appelle une adresse unique à chaque passage. Rien à ouvrir sur votre serveur, et ça marche même derrière un pare-feu.

La mise en place

  1. Créez un service de type Heartbeat (Push) et indiquez l’intervalle de votre tâche.
  2. Copiez son adresse de ping.
  3. Appelez-la à la fin de votre tâche, en GET ou en POST.
0 3 * * * /usr/local/bin/sauvegarde.sh && curl -fsS https://api.norminup.fr/api/heartbeat/t/VOTRE_JETON

Avec &&, l’appel ne part que si la sauvegarde a réussi : une sauvegarde en échec se traduit donc, elle aussi, par un silence.

Quand l’alerte part

Si aucun appel n’arrive pendant deux fois et demie l’intervalle prévu, le service passe en panne et vous êtes prévenu. Pour une tâche toutes les heures, l’alerte part après 2 h 30 sans nouvelles.

Plus de détails dans la documentation.