Alerts & Channels
CronBeat sends alerts when a monitor fails and recovery notifications when it becomes healthy again. Email, Slack, and Webhook are available. Telegram and WeChat notifications are not yet implemented.
Alert Types
| Alert Type | Triggered When | Monitor Types |
|---|---|---|
| Missing | No heartbeat arrives by the expected time plus grace period | Heartbeat |
| Check Failed | An active check fails, such as a timeout, DNS error, or connection error | HTTP, TCP, Ping |
| Rule Matched | An active check succeeds but matches an alert rule | HTTP, TCP, Ping |
| Recovered | A down monitor passes a check or receives a heartbeat | All types |
An ongoing failure is recorded as one Incident, which can have initial, repeated, and recovery notifications. Manually resuming a paused monitor starts monitoring again without sending a recovery notification.
Silence Period
The silence period controls repeated notifications of the same alert type for a monitor. Options are 10 minutes, 30 minutes, 1 hour, 2 hours, 6 hours, 12 hours, and 24 hours. The default is 1 hour.
The period begins after delivery succeeds through at least one channel. Once it expires, a subsequent check that still detects failure can trigger another notification. Recovery notifications bypass the failure silence period, and recovery clears that period.
Configure Channels
Create channels in Settings, then select the channels that should receive each monitor's notifications.
| Channel | Configuration | Requirement |
|---|---|---|
| Recipient email address | Click the verification email link before receiving alerts | |
| Slack | Incoming Webhook URL | The webhook must be able to post to its channel |
| Webhook | URL accepting JSON POST requests; optional signing secret | The receiver must return a successful HTTP status |
When a monitor has no assigned channels, notifications use the account's verified default channels. A monitor with assigned channels uses only those channels; unavailable assigned channels do not cause a fallback to defaults.
Use the channel's Test button after setup and confirm that the destination receives the message. Check your spam folder if the email verification message does not arrive.
Webhook Payload
Failure and recovery notifications use this structure. The fields in metadata depend on the alert type:
alertType is missing, check_failed, check_rule_matched, or recovered. When a secret is configured, X-CronBeat-Signature: sha256=<hex> contains the HMAC-SHA256 signature of the raw request body. Test messages use event: "test" with message and timestamp fields.
Delivery Results
- Delivery through at least one channel marks the alert as sent. Other failed channels are not retried separately.
- If all available channels fail, CronBeat makes up to 3 attempts in total, with increasing retry delays.
- If there are no verified channels, delivery is marked as failed; correct the channel configuration first.
- Arrival time depends on the queue and channel provider. Webhook receivers should handle duplicate messages.