Heartbeat Monitoring

Heartbeat Monitoring

Monitor scheduled jobs, CRON tasks, and background processes with heartbeat checks

Ensure Critical Jobs Keep Running

Heartbeat monitoring is a "reverse" monitoring approach where your servers, scripts, or scheduled jobs actively "ping" our monitoring system at regular intervals. If we don't receive the expected heartbeat signal within the specified timeframe, we alert you that the job has failed, stopped, or is running late.

Perfect for monitoring CRON jobs, scheduled tasks, backup scripts, data synchronization processes, and any background jobs that need to run on a schedule. If your job doesn't check in on time, you'll know immediately.

How Heartbeat Monitoring Works

Simple steps to monitor your scheduled jobs

1

Create Heartbeat

Set expected check-in interval (every hour, day, week, etc.)

2

Add to Job

Your job pings our unique heartbeat URL when it runs

3

We Watch

We expect check-ins at the scheduled interval

4

Get Alerted

No check-in received? We alert you immediately

Example: Adding Heartbeat to a CRON Job

# Backup script with heartbeat
0 2 * * * /usr/local/bin/backup.sh && curl https://uptime.yourdomain.com/ping/abc123

Heartbeat Features

Powerful capabilities for monitoring scheduled jobs

Flexible Schedules

Configure any check-in schedule from minutes to months. Support for CRON expressions, simple intervals (hourly, daily, weekly), or custom schedules for complex job timing.

Grace Periods

Set grace periods to account for jobs that may take longer to complete or start slightly late. Avoid false alerts while still catching real failures.

Success/Failure Tracking

Track not just whether jobs run, but whether they succeed or fail. Send different signals for start, success, and failure states to get complete job visibility.

Execution History

View complete history of all check-ins with timestamps. Track job execution patterns, identify timing issues, and verify jobs are running as expected.

Duration Tracking

Measure how long jobs take to complete. Get alerted if job duration exceeds normal ranges, indicating performance issues or problems during execution.

Log Attachments

Send job output, error messages, or log snippets with your heartbeat signal. Review job output directly in our dashboard without accessing servers.

What to Monitor with Heartbeats

Common use cases for heartbeat monitoring

Database Backups

Monitor nightly database backups to ensure your data is being backed up as scheduled. Get immediate alerts if backup jobs fail or don't run, preventing data loss scenarios.

Data Synchronization

Track ETL jobs, data imports, API syncs, and data replication tasks. Ensure critical data synchronization processes complete successfully and on schedule.

Email Queue Processing

Monitor queue workers that process emails, notifications, or background jobs. Detect when workers crash or stop processing, preventing message delivery delays.

Certificate Renewals

Monitor automated SSL certificate renewal scripts (like certbot/Let's Encrypt). Get notified if automatic renewal fails before certificates expire.

Cleanup Scripts

Track maintenance scripts that clean temporary files, rotate logs, or purge old data. Ensure housekeeping tasks run regularly to prevent disk space issues.

Server Agents

Monitor custom monitoring agents or data collection scripts. Get alerted if agents stop reporting, indicating server problems or agent crashes.

Why Use Heartbeat Monitoring

Key advantages for your scheduled jobs

Catch Silent Failures

CRON jobs fail silently - no user sees errors. Heartbeat monitoring ensures you know immediately when scheduled jobs stop running.

Prevent Data Loss

Failed backups can go unnoticed for weeks. Heartbeat monitoring ensures your backup strategy is actually working.

Simple Integration

Add a single curl command to your scripts. No complex agent installation or configuration required.

Complete Visibility

Track all scheduled jobs in one dashboard. See what ran, what failed, and what's overdue at a glance.

Easy Integration

Simple code examples for different languages

Linux/Bash Script

#!/bin/bash
./your-script.sh
curl https://uptime.yourdomain.com/ping/YOUR_ID

Python Script

import requests
# Your job code here
requests.get('https://uptime.yourdomain.com/ping/YOUR_ID')

PHP Script

<?php
// Your job code here
file_get_contents('https://uptime.yourdomain.com/ping/YOUR_ID');
?>

Node.js Script

const axios = require('axios');
// Your job code here
axios.get('https://uptime.yourdomain.com/ping/YOUR_ID');

Frequently Asked Questions

Everything you need to know about heartbeat monitoring

Never Miss a Failed Job Again

Start monitoring your scheduled jobs and background processes today.

Set Up Heartbeat Monitoring