Heartbeat Monitoring
A heartbeat monitor tracks anything that should run "on time" — cron jobs, backups, queues, or any scheduled process. The job pings SiroPing on every run; if a ping is missed, SiroPing alerts.
How it works
job runs ──> curl https://your-server/monitor/ping/<token>/ ──> Heartbeat Up
│
job stops ─> no ping within interval + grace ───────────────────────> Missed → incident → alert
job resumes ─> ping again ──────────────────────────────────────────> Recovered
Create a heartbeat monitor
- Monitors → New Heartbeat Monitor.
- Set:
| Field | Meaning |
|---|---|
| Interval | Expected frequency (e.g. every 5 minutes) |
| Grace | Extra time allowed before a miss is declared |
| Cooldown | Minimum gap between two alerts |
- Save — SiroPing shows the Ping URL (the token is secret).
Wire your job
# example: nightly backup job
30 2 * * * /opt/backup.sh && curl -fsS https://your-server/monitor/ping/<token>/ >/dev/null
Only a successful run pings → a failing backup is silently missed → SiroPing alerts.
warning
Put the ping **after** the job's real work so a failed job is a missed heartbeat,
not a false "up". The token is secret — don't commit it to repositories.
Missed / Recovered
- No ping within
interval + grace→ Missed → opens an incident + alert. - The next ping → Recovered → incident resolves.
Heartbeats go through the same Incidents pipeline (dedup + cooldown), so you never get alert spam for one stuck job.