Von Healthchecks.io migrieren

Healthchecks.io-Checks zu SteadyCron-Heartbeat-Monitoren umziehen — Checks per API exportieren, als YAML neu anlegen und die Ping-URLs in den Crontabs tauschen.

Healthchecks.io und SteadyCron-Heartbeat-Monitore funktionieren gleich: Ihr Cronjob pingt eine URL, wenn er läuft; bleibt der Ping aus, gibt es einen Alarm. Die Migration ist daher mechanisch — jeden Check als Heartbeat-Monitor neu anlegen, dann die Ping-URL in Crontab oder Skript tauschen. SteadyCron ergänzt im selben Produkt die Ausführung geplanter HTTP-Jobs, Alerts über Slack, Discord, Telegram, E-Mail und Webhook in allen Tarifen sowie einen YAML-/Terraform-Workflow.

1. Checks exportieren

Die Management-API von Healthchecks.io listet jeden Check mit Zeitplan und Grace-Zeit:

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

Beide Check-Varianten lassen sich direkt abbilden:

  • Cron-Checks (schedule + tz) → Heartbeat-Monitor mit schedule + timezone
  • Perioden-Checks (timeout in Sekunden) → Heartbeat-Monitor mit interval

2. Checks als Heartbeat-Monitore neu anlegen

jobs:
  - id: nightly-db-backup
    name: Nightly DB backup
    kind: heartbeat
    schedule: "0 2 * * *"       # aus "schedule" des Checks
    timezone: Europe/Berlin     # aus "tz"
    grace: 1800                 # aus "grace" (Sekunden)

  - id: queue-worker
    name: Queue worker
    kind: heartbeat
    interval: 300               # aus "timeout" bei Perioden-Checks
    grace: 120

Oder einzeln — steadycron manifest add job --kind heartbeat fragt Zeitplan, Zeitzone und Grace ab und leitet einen sinnvollen Grace-Default aus dem Zeitplan ab:

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

Danach steadycron apply steadycron.yaml. Jeder Monitor erhält eine eindeutige Ping-URL unter ping.steadycron.com.

3. Ping-URLs tauschen

Ersetzen Sie die hc-ping.com-URL in jeder Crontab-Zeile bzw. jedem Skript:

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

# nachher
0 2 * * * /usr/local/bin/backup.sh && curl -fsS https://ping.steadycron.com/<ihr-ping-token>

Für eine risikofreie Migration pingen Sie einige Tage beide Dienste (curl -fsS url1; curl -fsS url2), prüfen die Check-ins in SteadyCron und löschen dann den alten Check.

Was anders ist

Healthchecks.ioSteadyCron
Dead-Man’s-Switch-MonitoringJaJa
Ausführung geplanter HTTP-JobsNeinJa — Retries, Timeouts, Ausführungsprotokoll
Alert-KanäleViele (planabhängig)E-Mail, Slack, Discord, Telegram, Webhook — alle Tarife
Konfiguration als CodeAPI / Terraform (Community)YAML-Manifest + offizieller Terraform-Provider
HostingUSA (EU-Self-Hosting möglich)EU (DSGVO-nativ, AV-Vertrag)

Nächste Schritte