Surveillance des crons

Sachez quand une tâche planifiée ne s'est jamais exécutée

Une sauvegarde qui cesse discrètement de tourner ressemble exactement à une sauvegarde qui fonctionne — jusqu'au jour où vous en avez besoin. Votre tâche ping AlertSleep quand elle se termine ; nous vous alertons quand ce ping n'arrive pas.

Facturation nocturne

OK
Planification Tous les jours à 03:00 Europe/Paris
Dernier ping il y a 3 minutes · exit 0 · 48 s
Prochaine échéance dans 23 heures
Délai de grâce 15 minutes
0 3 * * * /usr/local/bin/billing-run \
  && curl -fsS https://api.alertsleep.com/v1/ping/YOUR-TOKEN

Une ligne dans votre crontab

Pas d'agent, pas de bibliothèque, aucune règle de pare-feu au-delà du HTTPS ordinaire. Si la machine atteint Internet, elle peut se signaler.

1

Créez un check

Décrivez quand la tâche doit tourner et le retard acceptable avant que vous vouliez en entendre parler. Vous recevez une URL de ping unique.

2

Appelez l'URL à la fin de la tâche

Ajoutez un seul appel curl à la commande que vous lancez déjà. Rien d'autre ne change dans la tâche.

3

Nous surveillons le silence

AlertSleep vérifie chaque minute les tâches en retard. La fenêtre dépassée, l'alerte part — y compris la première fois qu'une tâche cesse de tourner.

Deux façons de dire quand une tâche doit tourner

Choisissez celle qui correspond à votre façon de voir la tâche.

Toutes les N minutes

Pour les tâches à intervalle : une file vidée toutes les cinq minutes, une synchronisation toutes les heures. Vous indiquez l'intervalle, rien de plus.

Une expression cron

Pour les tâches liées à l'horloge ou au calendrier. Collez l'expression que votre crontab utilise déjà et le check la suit exactement.

Votre fuseau horaire, pas le nôtre

Une planification cron est évaluée dans le fuseau que vous choisissez : une tâche fixée à 03:00 heure locale reste à 03:00 malgré le changement d'heure.

Un délai de grâce

Les vraies tâches démarrent en retard et s'éternisent. Définissez le retard normal et seuls les vrais dépassements déclenchent une alerte.

Trois signaux, n’importe quel client HTTP

GET, POST et HEAD fonctionnent tous : curl, wget, PowerShell ou deux lignes d'appel HTTP depuis la tâche se valent.

Succès

La tâche s'est terminée. C'est le seul signal nécessaire — tout le reste est optionnel.

https://api.alertsleep.com/v1/ping/YOUR-TOKEN

Démarrage

Appelez-le au début et AlertSleep enregistre la durée de chaque exécution, pas seulement le fait qu'elle a eu lieu.

https://api.alertsleep.com/v1/ping/YOUR-TOKEN/start

Échec

La tâche a tourné et savait qu'elle avait échoué. Un échec explicite alerte immédiatement au lieu d'attendre l'expiration de la planification.

https://api.alertsleep.com/v1/ping/YOUR-TOKEN/fail

Détails optionnels

Envoyez un code de sortie, une durée ou un court message avec le ping. Un champ illisible est écarté et le battement reste enregistré — un extra mal formé ne vous coûte jamais le signal lui-même.

curl -fsS -X POST \
  https://api.alertsleep.com/v1/ping/YOUR-TOKEN \
  -d exit_code=0 \
  -d duration_ms=48213 \
  -d message="1482 invoices"

Quand le ping n'arrive pas

Les checks cron alertent par e-mail et dans votre tableau de bord AlertSleep.

Alerte e-mail

Envoyée une fois quand le check tombe, avec la planification, le délai de grâce et l'heure du dernier ping reçu.

Notification dans l'application

La même alerte arrive dans votre liste de notifications : un check tombé pendant la nuit reste visible au matin.

Avis de rétablissement

Quand la tâche se signale à nouveau, vous êtes informé du rétablissement. Aucune alerte ne se répète tant qu'un check reste en panne.

Des checks cron dans toutes les formules

Y compris la gratuite. Pas de carte bancaire pour savoir si vos tâches tournent vraiment.

Gratuit
2
checks cron
Basic
10
checks cron
Professional
50
checks cron

Questions fréquentes

Qu’est-ce que la surveillance des crons ?

La surveillance des crons — aussi appelée surveillance par battement de cœur ou homme mort — guette un signal censé arriver. Votre tâche planifiée appelle une URL en se terminant ; si cet appel n'arrive pas à temps, vous êtes alerté. C'est l'inverse de la surveillance de disponibilité, où c'est nous qui vous appelons.

Pourquoi ne pas simplement vérifier le code de sortie dans mon script ?

Un code de sortie n'existe que si la tâche a tourné. Les pannes qui font mal sont celles où rien n'a tourné du tout : entrée de crontab supprimée, serveur reconstruit, conteneur jamais démarré, disque plein. Une tâche sans sortie ni erreur est indiscernable d'une tâche saine, sauf si quelque chose guette son absence.

Est-ce compatible avec les CronJobs Kubernetes, les timers systemd ou le Planificateur de tâches Windows ?

Oui. Le check ne présuppose aucune crontab — il lui faut seulement que la tâche émette une requête HTTPS en se terminant. Tout planificateur capable de lancer curl, et tout programme capable d'un appel HTTP, peut se signaler.

Et si la tâche tourne mais bien plus longtemps que d'habitude ?

Appelez le point de terminaison de démarrage au début et celui de succès à la fin : la durée de chaque exécution est enregistrée. Le délai de grâce décide du retard toléré avant que le check soit considéré en panne.

L'URL de ping est-elle un secret ?

Oui. Le jeton dans l'URL est le seul identifiant d'un point de terminaison qui accepte les appels non authentifiés : traitez-le comme un mot de passe, hors des dépôts publics et hors des journaux que vous partagez.

Sachez-le cette nuit, pas au prochain trimestre

Ajoutez un appel curl à votre tâche planifiée la plus importante et sachez la prochaine fois qu'elle ne tourne pas.

Commencer la surveillance gratuite