Skip to content

Check-ins

Your Honeybadger account comes with check-ins, a way for the processes running on your servers to report that they are alive. Once configured, should a check-in go missing, Honeybadger will send you an alert to let you know that your process has stopped reporting. This is especially useful for monitoring cron jobs, so you can avoid having a cron job silently fail and go unnoticed.

Check-Ins overview

When you create a check-in, you can choose either a simple or a cron-based type.

Check-in creation form

Honeybadger will watch the process on a specific interval (like every 5 minutes).

Cron scheduling allows you to use a cron expression to create an advanced check-in schedule or mirror the cron schedule on your server.

With either option, you can also specify a grace period, which allows some time for long-running tasks to be completed before Honeybadger sends a notification due to a lack of reporting. For example, if you have a job that reports every hour but can take up to twenty minutes to run, you can specify a grace period of twenty minutes, and Honeybadger will allow up to one hour and twenty minutes to elapse before a notification is sent.

When you create a new check-in, you’ll get a URL that you can use to report that your process is alive. For example, if your check-in URL is https://api.honeybadger.io/v1/check_in/XyZZy, then you can set up a cron job like this:

Terminal window
@hourly /usr/bin/do_something && curl https://api.honeybadger.io/v1/check_in/XyZZy &> /dev/null

See the API docs for more information about the data you can send when reporting a check-in.

You will also get an email address you can use for reporting the status of your process. No subject or body text is required, but the email address is case-sensitive:

Terminal window
@hourly /usr/bin/do_something && echo mail "" | XyZZy@report.hbchk.in

You can POST a small payload to the UI that includes the results of the command you ran, including the command’s output, exit code, and duration. Please see our API documentation for the format of that payload.

Check-in payloadsCheck-in payloads

The easiest way to send check-in payloads is to use the Honeybadger CLI’s hb run command to wrap your scheduled command:

Terminal window
hb run --id XyZZy -- /usr/local/bin/backup.sh

Or POST directly to the check-in API with a JSON payload:

Terminal window
curl -X POST https://api.honeybadger.io/v1/check_in/XyZZy \
-H "Content-Type: application/json" \
-d '{"check_in": {"status": "success", "duration": 1234, "stdout": "backup completed"}}'

You can view the payload data in your check-in history or query it in Insights.

When creating a cron job in your codebase, you can also choose to specify a slug in a separate config file. To learn how to do this, check out the PHP/Laravel and JavaScript integration guides.

If you choose to specify a slug, you will have another URL you can use for reporting the check-in in addition to the URL described previously. This URL includes a project API key to scope the slug to your project. If you specify a slug of hourly-check, then your alternate check-in URL will look like https://api.honeybadger.io/v1/check_in/hbp_ABC/hourly-check.

Check-in alerts configuration

When your check-in goes missing, we’ll notify you with information about which job failed to report on time. You can enable or disable these notifications along with the rest of the notification events in your Personal Alerts or Project Integrations settings.

Check out our Status Pages feature for information on how to present the status your check-ins to your users.