Migrer depuis Healthchecks.io

Migrez vos checks Healthchecks.io vers les moniteurs heartbeat SteadyCron — exportez les checks via l'API, recréez-les en YAML et remplacez les URL de ping dans vos crontabs.

Healthchecks.io et les moniteurs heartbeat SteadyCron fonctionnent pareil : votre cron job pingue une URL quand il tourne, et un ping manquant déclenche une alerte. La migration est donc mécanique — recréer chaque check comme moniteur heartbeat, puis remplacer l’URL de ping dans le crontab ou le script. SteadyCron ajoute dans le même produit l’exécution de tâches HTTP planifiées, des alertes Slack, Discord, Telegram, e-mail et webhook sur tous les plans, et un workflow YAML/Terraform.

1. Exportez vos checks

L’API de gestion de Healthchecks.io liste chaque check avec son planning et son délai de grâce :

curl -s https://healthchecks.io/api/v3/checks/ \
  -H "X-Api-Key: $HC_API_KEY" | jq '.checks[] | {name, schedule, timeout, grace, tz}'

Les deux types de checks se transposent directement :

  • checks cron (schedule + tz) → moniteur heartbeat avec schedule + timezone
  • checks à période (timeout en secondes) → moniteur heartbeat avec interval

2. Recréez chaque check en moniteur heartbeat

jobs:
  - id: nightly-db-backup
    name: Nightly DB backup
    kind: heartbeat
    schedule: "0 2 * * *"       # depuis "schedule" du check
    timezone: Europe/Paris      # depuis "tz"
    grace: 1800                 # depuis "grace" (secondes)

  - id: queue-worker
    name: Queue worker
    kind: heartbeat
    interval: 300               # depuis "timeout" pour les checks à période
    grace: 120

Ou un par un — steadycron manifest add job --kind heartbeat demande planning, fuseau et grâce, avec un défaut de grâce dérivé du planning :

steadycron manifest add job --kind heartbeat --name nightly-db-backup --schedule "0 2 * * *"

Puis steadycron apply steadycron.yaml. Chaque moniteur reçoit une URL de ping unique sous ping.steadycron.com.

3. Remplacez les URL de ping

Remplacez l’URL hc-ping.com dans chaque ligne de crontab ou script :

# avant
0 2 * * * /usr/local/bin/backup.sh && curl -fsS https://hc-ping.com/<uuid>

# après
0 2 * * * /usr/local/bin/backup.sh && curl -fsS https://ping.steadycron.com/<votre-token>

Pour migrer sans risque, pinguez les deux services pendant quelques jours (curl -fsS url1; curl -fsS url2), vérifiez les check-ins côté SteadyCron, puis supprimez l’ancien check.

Ce qui change

Healthchecks.ioSteadyCron
Monitoring dead-man’s-switchOuiOui
Exécution de tâches HTTP planifiéesNonOui — réessais, timeouts, journal d’exécution
Canaux d’alerteNombreux (selon le plan)E-mail, Slack, Discord, Telegram, webhook — tous les plans
Config as codeAPI / Terraform (communautaire)Manifeste YAML + provider Terraform officiel
HébergementUSA (self-host UE possible)UE (RGPD natif, DPA signé)

Étapes suivantes