Heartbeat monitors are passive. Instead of Kener reaching out to your service, your service calls Kener. If the signal stops arriving, Kener transitions the monitor to DEGRADED or DOWN. Use heartbeat monitors for cron jobs, background workers, data pipelines, or any process that runs on a schedule and needs to prove it completed successfully.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/rajnandan1/kener/llms.txt
Use this file to discover all available pages before exploring further.
Heartbeat endpoint
Your service sends aGET or POST request to:
{tag} is the monitor tag and {secret} is the secretString set in the monitor’s configuration.
Example:
Configuration fields
| Field | Type | Default | Notes |
|---|---|---|---|
degradedRemainingMinutes | number | 5 | Minutes since last heartbeat before status becomes DEGRADED |
downRemainingMinutes | number | 10 | Minutes since last heartbeat before status becomes DOWN |
secretString | string | — | Required — shared secret in the heartbeat URL |
Status logic
| Condition | Status |
|---|---|
| No heartbeat ever received | NO_DATA |
elapsed > downRemainingMinutes | DOWN |
elapsed > degradedRemainingMinutes | DEGRADED |
| otherwise | UP |
Sending heartbeats from your services
- curl (cron job)
- Node.js
- Python
Run this at the end of your cron script. Kener only receives a signal when the job succeeds:Example cron entry (runs every 5 minutes):
What happens when heartbeats stop
When no heartbeat arrives within the configured windows:- After
degradedRemainingMinuteswithout a signal → status becomes DEGRADED - After
downRemainingMinuteswithout a signal → status becomes DOWN - Any configured alert rules fire (email, webhook, Slack, Discord)
- An incident can be auto-created if alert rules are configured to do so
Example configuration
Troubleshooting
- Always NO_DATA: the heartbeat endpoint has never been called, or the
tag:secretin the URL is wrong - Always DOWN or DEGRADED: thresholds are too low for the actual job interval — increase both values
- Signal received but state stays stale: check that the Kener cron is running (the heartbeat is evaluated on the monitor’s own cron schedule, not in real time)