Healthchecks

Monitor your cron jobs and scheduled tasks, and get alerted when they fail to run.

Each healthcheck gives your job a unique URL to ping when it runs. If the ping does not arrive on schedule, Hyperping alerts you. Typical candidates: backups, system updates, log rotation, database maintenance, report generation, email jobs, automated tests, file cleanup, SSL renewal, and data synchronization.

Healthchecks interface
A healthcheck's ping URL, status and execution history

HTTP pings

Each healthcheck provides a unique endpoint upon creation, in this format: https://hc.hyperping.io/TOKEN_ID

At the end of your task, send a HEAD, GET or POST HTTP request to this endpoint to log the run. Any tool that can make an HTTP request works:

# Ping when your job completes successfully
curl -fsS https://hc.hyperping.io/TOKEN_ID

Measure your job execution time

You can append /start to the URL to measure the job execution time. Hit this endpoint with a HEAD, GET or POST request at the beginning of your script, then ping the regular URL at the end:

# Signal the start of the job
curl -fsS https://hc.hyperping.io/TOKEN_ID/start

/usr/local/bin/backup.sh

# Signal completion
curl -fsS https://hc.hyperping.io/TOKEN_ID

Grace period

Each healthcheck has a grace period: how long Hyperping waits from the moment it expects a ping before alerting you.

Use it to absorb normal variance in run time. If a script is expected to take 5 minutes, a 10 minute grace period avoids alerts for runs that are just a little slow.

Schedules: simple or cron

Each healthcheck expects pings on a schedule. Two modes are supported:

Simple mode

Set the interval at which you expect a ping: every 10 minutes, every hour, every day. If no ping arrives within the interval plus the grace period, you get alerted.

Cron mode

For jobs that run on a precise schedule, use the same cron expression as the job itself, together with its timezone. Hyperping computes the expected run times from the expression and alerts you when a run is missed.

For example, a nightly backup running at 2:00 AM in Paris would use the expression 0 2 * * * with the Europe/Paris timezone.

Both modes are also available programmatically via the Healthchecks API.

Integrations

Healthchecks support all integrations: email, SMS, Slack, Microsoft Teams, PagerDuty, OpsGenie, Discord and Telegram. See Integrations for setup.

Rate limits

Healthcheck pings are limited in two ways:

IP Rate limit

You cannot ping from the same IP more than 300 times per minute.

Token Rate limit

You cannot ping a single check more than 10 times per minute.

Next steps