InfraNestInfraNest
Moniteurs & vérifications

Surveiller une tâche cron ou un script

La plupart des vérifications contactent activement l'un de vos services. Un moniteur heartbeat fonctionne dans l'autre sens : votre script de sauvegarde, votre tâche cron ou votre tâche planifiée se signale à…

Surveillez un script de sauvegarde, une tâche cron ou une tâche planifiée en le faisant se signaler à InfraNest — cela s'adresse à toute personne qui souhaite savoir dès qu'une tâche de routine s'arrête silencieusement de fonctionner.

Présentation

  • Un moniteur heartbeat fonctionne à l'inverse de la plupart des vérifications : au lieu qu'InfraNest contacte votre service, votre tâche appelle InfraNest à chaque fois qu'elle se termine.
  • Si cet appel n'arrive pas à temps, InfraNest déclenche une alerte.
  • C'est le meilleur moyen de détecter une tâche qui a discrètement cessé de fonctionner, plutôt qu'une tâche qui répond simplement lentement.

Configurer un moniteur

  1. Allez dans Moniteurs et sélectionnez add a monitor.
  2. Choisissez Heartbeat / Cron monitor comme type.
Surveiller une tâche cron ou un script
  1. Donnez-lui un name que vous reconnaîtrez dans une alerte — « Nightly database backup » est plus clair que « job 1 ».
  2. Définissez le check interval sur la fréquence à laquelle la tâche est censée s'exécuter.
  3. Définissez une grace period — le temps supplémentaire autorisé avant que la tâche ne soit considérée en retard. Une sauvegarde qui prend habituellement quatre minutes mais parfois huit nécessite une période de grâce nettement supérieure à ce dépassement.
  4. Sélectionnez create monitor.

Vous ne saisissez pas d'URL pour ce type — InfraNest en crée une pour vous lors de l'enregistrement.

Faire en sorte que votre tâche se signale

  1. Ouvrez le moniteur pour voir son ping URL, ainsi qu'une ligne de commande prête à copier.
  2. Ajoutez cette ligne à la fin de votre script ou tâche cron, afin qu'elle ne s'exécute que si la tâche a effectivement réussi :
0 3 * * *  /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://your-infranest-url/api/heartbeat/your-uuid
  1. Conservez le && — cela signifie que le signalement ne se produit que si la sauvegarde elle-même s'est terminée avec succès. Une tâche échouée reste alors silencieuse, et c'est ce silence qui déclenche l'alerte.
  2. Utilisez le bouton Copier plutôt que de retaper l'URL — l'identifiant qu'elle contient est unique à ce moniteur.

Ce qui se passe ensuite

  • Chaque signalement marque le moniteur comme Actif et enregistre l'heure comme dernier ping.
  • Un moniteur tout juste créé reste en attente jusqu'à ce que sa première fenêtre soit passée, ce qui vous laisse le temps de mettre en place le signalement sans être alerté à ce sujet.
  • Si rien n'arrive dans l'intervalle plus la période de grâce, le moniteur passe Inactif et ouvre un incident, ce qui déclenche vos destinations d'alerte habituelles.
  • Le signalement suivant résout l'incident et vous informe que tout est revenu à la normale — vous n'avez pas besoin de le fermer manuellement.

NoteMettre en pause un moniteur heartbeat est sans risque : l'URL de ping continue de répondre normalement, donc une tâche qui l'appelle encore ne commencera pas à signaler des échecs. InfraNest arrête simplement la surveillance jusqu'à ce que vous la repreniez.

TipTraitez l'URL de ping comme un secret. Quiconque la possède peut signaler votre tâche comme fonctionnant normalement — ce qui masquerait un véritable échec.

Dépannage

  • No ping received yet sur le moniteur signifie qu'InfraNest n'a encore rien reçu de la tâche. Exécutez la ligne curl manuellement depuis la même machine : si cela fait passer le moniteur à Actif, le problème vient de votre script, pas d'ici.
  • Si la machine ne peut pas accéder à Internet en sortie, le signalement ne peut pas arriver — autorisez le HTTPS sortant vers InfraNest.
  • Un moniteur qui alerte chaque nuit à la même heure a généralement une période de grâce plus courte que le pire temps d'exécution réel de la tâche.

Articles similaires

Prêt en quelques secondes

Réunissez toute votre infrastructure dans un tableau de bord moderne.

Offre gratuite · Sans carte bancaire · Configuré en quelques minutes