Alert types
CronWarden raises a specific kind of alert for each kind of problem, and every alert is either a warning or critical. That split decides how loud it gets: warnings go to the channels you've marked for warnings; critical alerts go to your critical channels and drive the escalation ladder.
Warnings
Warnings are worth knowing about but not worth waking someone. They resolve on their own once the condition clears.
| Alert | Raised when |
|---|---|
| Late | A check-in is overdue but still within the grace window. Silent by default — a pending state, not a page (opt in per monitor with Notify when late). |
| Start Missed | A run checked in at /start but never sent its finishing check-in. |
| Too Fast | A successful run finished faster than the minimum duration you set. |
| Duration Drift | A run's duration strayed past your drift threshold versus its recent average. |
| Assertion Failed | A reported value broke one of your value rules — or a run succeeded without sending a value when a value rule is set. |
The last three (Too Fast, Duration Drift, Assertion Failed) also move the monitor into the degraded state — it's checking in, but not the way it should.
Critical
Critical alerts mean the work isn't happening. They stay open until the monitor recovers, and they're what escalation acts on.
| Alert | Raised when |
|---|---|
| Missed | A check-in never arrived, past the schedule and its grace period. |
| Failed | The job reported a failure by calling the /fail endpoint. |
| Recovered | The monitor returned to healthy. This is the "all clear", sent to the same critical channels that got the alert, so whoever was paged learns it's resolved. |
Acknowledging
Acknowledging a critical alert stops it from escalating while you work the problem. The monitor still shows the state it's in; acknowledgement only silences the repeat notifications. See Escalation ladder.