Skip to main content
Heartbeat monitors work in reverse — instead of DevHelm checking your service, your service pings DevHelm at a regular interval. If a ping doesn’t arrive within the expected interval plus grace period, an incident opens. This is ideal for monitoring processes that can’t be reached from the outside.
Define this in code. YAML format · Terraform

When to use heartbeat monitors

  • Cron jobs — verify scheduled tasks run on time
  • Batch processes — confirm data pipelines complete their runs
  • Backup jobs — detect when nightly backups don’t finish
  • Queue consumers — verify workers are processing messages
  • Scheduled reports — confirm report generation runs

How it works

  1. You create a heartbeat monitor specifying the expected interval between pings
  2. DevHelm generates a unique ping URL for the monitor
  3. Your process calls the ping URL on each successful run
  4. If the ping doesn’t arrive within the expected interval plus the grace period, DevHelm marks the monitor as down and opens an incident

Quick example

Create the monitor:
devhelm monitors create \
  --name "Nightly backup" \
  --type HEARTBEAT \
  --expected-interval 86400 \
  --grace-period 3600
Then add the ping to your job:
#!/bin/bash
# backup.sh
pg_dump mydb > /backups/$(date +%Y%m%d).sql

# Ping DevHelm on success
curl -s https://api.devhelm.io/api/v1/heartbeat/<ping-url-token>

Next steps

Configuration

Expected interval, grace period, and heartbeat assertions.

Cron job monitoring guide

Patterns for background job monitoring.