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 mitschedule+timezone - Perioden-Checks (
timeoutin Sekunden) → Heartbeat-Monitor mitinterval
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.io | SteadyCron | |
|---|---|---|
| Dead-Man’s-Switch-Monitoring | Ja | Ja |
| Ausführung geplanter HTTP-Jobs | Nein | Ja — Retries, Timeouts, Ausführungsprotokoll |
| Alert-Kanäle | Viele (planabhängig) | E-Mail, Slack, Discord, Telegram, Webhook — alle Tarife |
| Konfiguration als Code | API / Terraform (Community) | YAML-Manifest + offizieller Terraform-Provider |
| Hosting | USA (EU-Self-Hosting möglich) | EU (DSGVO-nativ, AV-Vertrag) |
Nächste Schritte
- Heartbeat-Monitoring — Grace-Zeiten, hängende Jobs
- Ping-Snippets — Bash, Python, .NET, Docker, Kubernetes
- YAML & CLI — der komplette Manifest-Workflow