Skip to content

Features /

Monitoring

Cron job monitoring: catch the run that never happened

Most monitors check that something answers. A scheduled job is the opposite: the failure is silence. FrogStatus gives each job a heartbeat address to call when it succeeds, and alerts you when the call does not arrive.

14 days, no commitment. Cancel any time.

How it works

  1. 1

    Create a heartbeat monitor

    Name it and set how often the job runs.

  2. 2

    Copy the heartbeat URL

    It appears after you create the monitor. It accepts a POST request.

  3. 3

    Call it when the job succeeds

    Add one line at the end of the script. If the call does not arrive within the interval, you are alerted.

backup.sh && curl -fsS -X POST https://app.frogstatus.com/api/v1/heartbeat/<monitor-id>

What you get

Silence is the signal

A job that never started, crashed or hung all look the same from outside: no call. All of them raise an alert.

Never run versus late

The alert says whether the job has never reported at all or has missed its schedule.

Works from anywhere

The job only needs to make an outgoing HTTPS request, so it works behind firewalls and on devices with no public address.

Same alerts as the rest

Same channels, reminders and recovery notices as the other monitors.

Where it helps

  • Backups

    Know the night the backup did not run, not the day you need it.

  • Scheduled imports and reports

    Catch the nightly job that stopped without an error.

  • Devices behind a firewall

    A device that stops calling in is a device that is offline.

Questions

Which plans include it?

Plus and above. Solo covers website (HTTP and HTTPS) and ping monitoring.

How do I call the heartbeat URL?

With a POST request, for example curl -X POST followed by the URL. Put it after the command, joined with &&, so it runs only when the job succeeds.

How often should the job call in?

At least as often as the interval you set. The interval is limited by your plan like any other monitor.

What if the job runs but does the wrong thing?

The heartbeat only tells you that the job reported success. Make the script call the URL only after it has checked its own result.

Does it work for jobs that are not cron?

Yes. Anything that can send an HTTPS request can report in: systemd timers, CI schedules, scripts on a Raspberry Pi.

Related features

All features

Try it on your own services.

Add your first monitor in a couple of minutes. The trial lasts 14 days.

Start free trial