Alertes
Configurez les canaux et règles d’alerte — e-mail, Slack, Discord, Telegram et webhooks — avec heures calmes et escalade.
Les alertes sont la manière dont SteadyCron vous signale qu’un problème est survenu. Vous définissez des canaux (où vont les alertes) et des règles (quels événements, sur quelles tâches, vers quel canal).
Canaux
Connectez un ou plusieurs canaux de diffusion :
- E-mail — disponible sur toutes les offres.
- Slack — publier dans un canal via un webhook entrant.
- Discord — publier dans un canal via un webhook.
- Telegram — envoyer un message à une conversation via un bot.
- Webhook — POST d’une charge utile JSON vers n’importe quel point de terminaison que vous contrôlez, pour un routage personnalisé (PagerDuty, Opsgenie, votre propre handler).
Slack, Discord et Telegram nécessitent une offre payante. Vous pouvez envoyer une alerte de test à un canal pour confirmer qu’il est bien configuré.
Déclencheurs
Une règle se déclenche sur un ou plusieurs événements :
- En cas d’échec — une exécution a échoué (ou un heartbeat a signalé
/fail). - Après N échecs consécutifs — n’alerter qu’une fois qu’une tâche a échoué à plusieurs reprises, pour réduire le bruit.
- Heartbeat manqué — un ping attendu n’est pas arrivé dans la période de grâce.
- Rétablissement — la tâche est de nouveau saine (résout automatiquement l’incident).
Notes de runbook
Chaque tâche peut porter un runbook : une courte note markdown (et éventuellement un lien vers une documentation plus complète — Notion, Confluence, votre wiki interne) avec les étapes exactes pour la résoudre. Définissez-la une fois sur la tâche ; quand une alerte se déclenche, le runbook est intégré directement dans la notification — Slack, Telegram et e-mail l’affichent tous en ligne.
Étape 1 : vérifier le retard de réplication sur node-2 (SELECT now() - pg_last_xact_replay_timestamp()).
Étape 2 : si le retard > 5 min, basculer via `make db-failover`.
Étape 3 : relancer cette tâche manuellement depuis le tableau de bord une fois rattrapé.
À 3 h du matin, l’alerte ne dit plus seulement « La tâche X a échoué » — elle indique directement à la personne d’astreinte quoi faire, sans qu’elle ait à chercher le runbook au préalable.
Réduire le bruit
SteadyCron façonne la diffusion pour ne pas vous noyer sous les notifications :
- Déduplication — les alertes répétées pour la même condition sont regroupées dans une fenêtre.
- Détection de flapping — les tâches qui basculent rapidement entre sain/en échec sont signalées plutôt que d’alerter à chaque transition.
- Heures calmes — supprime les alertes non critiques pendant des plages définies (offres payantes).
- Escalade — si une alerte n’est pas résolue, elle est escaladée vers un autre canal (offre Team).
Fiabilité
Les alertes sont écrites de façon atomique avec l’événement qui les déclenche et diffusées par un dispatcheur distinct avec réessais, de sorte qu’une notification n’est jamais perdue en silence — même si une cible de diffusion est temporairement indisponible.