Heartbeat Monitoring
Know when your cron jobs
stop running.
Create HTTP ping endpoints for every scheduled task in your infrastructure. HostAtlas tracks every ping, measures job duration, and alerts you the moment an expected ping doesn't arrive. No more silent cron failures. No more broken backups discovered days later.
Add to any cron job
$ ./backup.sh && curl -sSL https://app.hostatlas.app/api/hb/abc123/success_
<0 min
Missed detection time
0
Endpoint types per heartbeat
0
SDKs or libraries required
0d
Ping history retention
Heartbeat Endpoints
Four endpoints. Complete job lifecycle coverage.
Every heartbeat you create gets a unique ID and four distinct HTTP endpoints. Use the simple ping for basic monitoring, or combine start/success/fail for full lifecycle tracking with duration measurement.
Basic Ping
Simplest integration — one HTTP call confirms the job ran
# Simple cron job with heartbeat ping
$ crontab -e
# Every day at 2 AM — run backup, then ping
0 2 * * * /opt/scripts/backup.sh && \
curl -sSL https://app.hostatlas.app/api/hb/{id}
A GET or POST request to /api/hb/{id} records a successful ping. The timestamp is stored and the heartbeat timer resets. If the next ping doesn't arrive within the expected interval plus grace period, an alert is triggered.
Success Endpoint
Explicitly report that a job completed successfully
# Report success after the job completes
$ /opt/scripts/db-export.sh
$ if [ $? -eq 0 ]; then
curl -sSL https://app.hostatlas.app/api/hb/{id}/success
fi
A request to /api/hb/{id}/success records a successful completion. This is distinct from the basic ping — it explicitly signals that the job ran and completed without error. HostAtlas stores the success state and resets the heartbeat timer.
Failure Endpoint
Explicitly report that a job encountered an error
# Report failure if the job exits non-zero
$ /opt/scripts/sync-data.sh
$ if [ $? -ne 0 ]; then
curl -sSL https://app.hostatlas.app/api/hb/{id}/fail
fi
A request to /api/hb/{id}/fail records an explicit failure. Unlike a missed heartbeat (which means the job didn't run at all), a failure means the job ran but something went wrong. HostAtlas immediately triggers alerts on your configured notification channels.
Start + Finish (Duration Tracking)
Measure exact job duration with paired start/success calls
# Full lifecycle: start, run, report result
$ curl -sSL https://app.hostatlas.app/api/hb/{id}/start
$ /opt/scripts/etl-pipeline.sh
$ if [ $? -eq 0 ]; then
curl -sSL .../api/hb/{id}/success
else
curl -sSL .../api/hb/{id}/fail
fi
Hit /api/hb/{id}/start before your job begins, then /api/hb/{id}/success or /api/hb/{id}/fail when it finishes. HostAtlas calculates the exact duration, tracks averages over time, and detects performance regressions when a job takes significantly longer than its historical baseline.
How It Works
Expected interval. Grace period. Missed detection.
Every heartbeat has two timing parameters: the expected interval (how often the job should run) and the grace period (how much lateness is tolerable). When the clock runs out on both, HostAtlas marks the heartbeat as missed and triggers your alerts.
Set the expected interval
Define how often your job should run: every 5 minutes, every hour, every day, or a custom interval. This is the heartbeat's "expected rhythm." HostAtlas uses this to calculate when the next ping should arrive.
Add a grace period
Jobs don't always run at the exact same second. The grace period gives your job extra time before HostAtlas considers it missed. Set it based on how variable your job's timing is — 1 minute for tight schedules, 30 minutes for flexible ones.
Missed detection fires
When the expected interval plus grace period expires without a ping, HostAtlas marks the heartbeat as "missed" and immediately triggers notifications on all configured channels. The heartbeat stays in missed state until the next successful ping arrives.
Detection Timeline — Database Backup (6h interval, 10m grace)
0h — 6h after last ping. HostAtlas expects a new ping during this window. Status: Healthy.
6h — 6h 10m after last ping. The job is late but still within tolerance. Status: Late.
After 6h 10m with no ping. HostAtlas triggers alerts immediately. Status: Missed.
When the next ping arrives, the timer resets and the heartbeat returns to Healthy. Recovery notifications are sent.
Use Cases
Monitor every scheduled task in your stack.
From nightly database dumps to real-time queue workers — if it runs on a schedule, HostAtlas can monitor it. One HTTP call is all it takes.
Database Backups
Monitor nightly pg_dump, mysqldump, or mongodump jobs. Know immediately when a backup fails or doesn't run at all.
Cache Warmup
Ensure your Redis or Memcached cache warmup scripts run on schedule. Detect stale caches before they impact user experience.
Data Import/Export
Track data sync jobs that pull from external APIs or push to data warehouses. Catch integration failures before downstream systems are affected.
Queue Workers
Monitor long-running queue processors that should ping on each batch. Detect when a worker silently dies or stops processing jobs.
CI/CD Pipelines
Add heartbeat pings to your GitHub Actions, GitLab CI, or Jenkins pipelines. Track deploy frequency, duration, and catch stuck builds.
ETL Jobs
Monitor extract-transform-load pipelines that feed dashboards and reports. Use duration tracking to catch performance degradation early.
Email Sync
Track scheduled email sends, newsletter dispatches, and inbox sync jobs. Know when your transactional email pipeline stops processing.
Alert Integration
Missed heartbeat? Your team knows immediately.
Heartbeat alerts flow through the same notification pipeline as all other HostAtlas alerts. Slack, email, PagerDuty, webhooks — configure once, and every missed or failed heartbeat reaches the right people through the right channels.
Step 1
Detection
Heartbeat timer expires (interval + grace period) without receiving a ping, or an explicit failure endpoint is hit.
Step 2
Evaluate
HostAtlas checks maintenance windows, cooldown periods, and alert suppression rules. If none apply, the alert proceeds.
Step 3
Route
The alert is routed to all notification channels configured for this heartbeat — Slack channels, email addresses, PagerDuty, and webhooks.
Step 4
Deliver
Notifications are delivered simultaneously to all channels. Delivery status (sent, delivered, failed) is tracked for every notification.
Step 5
Escalate
If the heartbeat stays missed and no one acknowledges, escalation policies kick in and the alert is sent to the next tier of responders.
Slack
Rich message with heartbeat name, expected schedule, how long it's overdue, and a direct link to the heartbeat detail page in HostAtlas.
Detailed email with heartbeat configuration, last successful ping time, expected next ping time, and recent ping history summary.
PagerDuty
Creates a PagerDuty incident with severity mapping. When the heartbeat recovers, the incident is auto-resolved in PagerDuty.
Webhooks
HMAC-signed JSON payload with complete heartbeat state, timing data, and the event type (missed, failed, or recovered).
Example Slack notification
Heartbeat Missed: ETL Pipeline
Status: Missed
Expected interval: Every 1 hour
Grace period: 10 minutes
Last successful ping: Mar 21, 2026, 12:01 AM (2h 13m ago)
Overdue by: 1h 3m
Why HostAtlas
Heartbeat monitoring that's part of the whole picture.
Standalone cron monitoring tools give you pings and alerts. HostAtlas gives you heartbeat monitoring alongside server metrics, incident management, log access, and infrastructure discovery — all correlated in one platform.
Correlated with server metrics
When a heartbeat misses, check if the server's CPU spiked or disk filled up — right from the same dashboard. No context switching between tools.
Automatic incident creation
Missed heartbeats can automatically create incidents with full context — server state, recent logs, and related alerts all linked together.
No SDK required
Plain HTTP calls. Use curl, wget, PowerShell, Python requests, or any HTTP client. No libraries to install, no dependencies to manage, no vendor lock-in.
Check server logs instantly
When a job fails, access the server's logs from your browser without SSH. See what happened around the time the job should have run.
Enterprise-grade security
RBAC, 2FA, audit logs, and tenant isolation. Heartbeat endpoints are authenticated with your team's API key. Every access is logged.
Included in every plan
Heartbeat monitoring isn't an add-on. It's included in every HostAtlas plan — free tier gets 3 heartbeats, paid plans get unlimited.
Get started
Stop guessing whether your cron jobs ran.
Create your first heartbeat in under a minute. Add a single curl command to your cron job or CI/CD pipeline. HostAtlas handles the rest — tracking, alerting, duration measurement, and historical analysis. Free plan includes 3 heartbeats. No credit card required.
Add to your crontab
$ curl -sSL https://app.hostatlas.app/api/hb/{id}/success_