Monitor jobs and cron schedules
Track scheduled commands and find failed, late or missing executions.
On this page
What you need
For heartbeats, a sender that can make an HTTP request is enough. Tracking execution starts and finishes additionally requires the CLI or a run-event integration.
How to do it
- Create a Job monitor. To detect missing starts, choose a fixed interval or a five-field cron schedule with a time zone, and set the allowed delay. For simple heartbeats, select signal=heartbeat.
- Run the command with metribeacon run --monitor-id MONITOR_UUID -- PROGRAM. If schedule windows overlap, set --scheduled-for to the intended UTC timestamp with whole seconds.
- Check the run list and add a run alarm for failures, aborts, excessive runtime or missing starts.
Confirm a heartbeat by URL
Select the heartbeat signal when creating a Job monitor. Copy its individual URL from the connection section, call it with GET, HEAD or an empty POST, then explicitly activate monitoring after receipt is confirmed. No API key or extra headers are needed. You can show, replace or disable the URL in the overview and settings. Replacing it immediately stops the old URL. Keep it private; it confirms receipt, not successful job completion.
curl --fail --silent --show-error "https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN"To measure a heartbeat job, call its secret URL with /start before your command, then call the base URL on success, /fail on failure or /abort on cancellation. The job page provides shell and PowerShell examples that preserve your exit code. Only success confirms the scheduled heartbeat. For parallel jobs, send the same unique run_id UUID on start and completion. Without a run ID only one measurement may be open; /abort closes an abandoned measurement. Duration is measured between server receipt times.
Good to know
MetriBeacon observes the reports; it does not execute your scheduled task. Your existing cron or job scheduler still starts it. Without a schedule, MetriBeacon cannot know when a run is missing.
Every execution has its own run ID. A delayed report can correct an earlier missing-start result. A successful backup command does not by itself prove that the backup can be restored.
metribeacon run --monitor-id MONITOR_UUID \
--scheduled-for 2026-09-30T12:00:00Z -- /usr/local/bin/demo-jobIf something goes wrong
Do not reuse a run ID for another execution. Before rerunning a real job, check whether only its reporting failed.
Related guides
- Workflows and parallel runs
Follow each workflow or AI-agent execution, including simultaneous runs.
- Run commands and retry offline reports
Report a command's execution while preserving its output and exit status.
- Job and workflow run alerts
Get notified about failed, aborted, overlong or missing job and workflow runs.