Heart Beat Monitoring

Who it's for: Developers and DevOps teams supervising background jobs, schedulers, and workers.
You’ll learn: How to configure heartbeats, automate pings, set alerts, and resolve common issues.

Heart beat monitoring is a service which allows you to monitor the uptime of scheduled jobs, workers, or daemons. Once you create a heartbeat monitor in the Acumen Logs dashboard you receive a unique URL. When your job “checks in” by hitting that URL within the expected time window, the monitor stays healthy. If the check-in is missed or delayed, the monitor is marked failed and alerts are triggered.

Usage

Create a Heart Beat Monitor

Within the Heartbeat Monitoring section of the Acumen Logs dashboard, create a new heart beat monitor. Once you have created the monitor, you will be provided with a unique URL that looks like this https://app.acumenlogs.com/heartbeat/YOUR-UNIQUE-ID/pulse. You can use this URL to send a request to our server from cron jobs, workers, or external services.

Send a Request

We accept GET, POST and HEAD requests. You can also send a request with a body, headers, and query parameters. The server will respond with a 200 OK status code if the request is successful. Include contextual metadata (e.g., job duration or payload summary) inside query strings or JSON bodies to make incident triage easier.

Setup thresholds

You can set up thresholds for the heart beat monitor. If the monitor does not receive a request within the specified time frame, we will consider the URL to be down. Configure:

  • Expected frequency: Set how often you expect pings (e.g., every 5 minutes, every hour, daily).
  • Grace period: Allow a short buffer to account for longer-running jobs or queue delays.
  • Alert channels: Choose who should be notified when a heartbeat is missed.

Automation Examples

  • Cron Job (Linux): Append curl -fsS "https://app.acumenlogs.com/heartbeat/YOUR-UNIQUE-ID/pulse" > /dev/null to the end of your cron script.
  • Laravel Scheduler: Place Http::post(config('services.acumen.heartbeat_url')); inside the scheduled job’s finally block so failures still notify you.
  • Serverless Functions: Trigger the heartbeat once your background task completes. Use environment variables (ACUMEN_HEARTBEAT_URL) to avoid hardcoding credentials.
  • Kubernetes Jobs: Add a post-success wget or curl sidecar that reports completion for each batch job.

Alerting & Notifications

Heartbeat monitors integrate with the shared alerting engine:

  • Configure email, Slack, Teams, webhook, or desktop alerts.
  • Escalate missed heartbeats after a configurable number of consecutive failures.
  • Use webhooks to open incidents in PagerDuty or create Jira tickets automatically.
  • Combine with uptime or synthetic monitors inside the same project for full-service visibility.

Troubleshooting

  • False Alarms: Increase the grace period or move the ping to the end of the process so long-running tasks do not time out.
  • No Pings Recorded: Ensure the outbound environment can reach app.acumenlogs.com and SSL certificates are trusted.
  • Duplicate Jobs: If multiple workers perform the same task, assign each a dedicated heartbeat or use unique identifiers in the payload.
  • Security: Rotate heartbeat URLs when staff leave or credentials leak. Treat them like secrets—store in secure environment managers.

Related Guides