CronBeatCronBeat

FAQ & Troubleshooting

Common questions and solutions for CronBeat.


Heartbeat Monitoring

My monitor shows "Down" but the job is running

Possible causes:

  1. The ping command is not being reached (job fails before the curl line)
  2. Wrong Ping Key in the curl command
  3. Grace period is too short for the job's execution time
  4. Network issue preventing the ping from reaching CronBeat

Solutions:

  • Verify the Ping Key by copying it directly from the dashboard
  • Test manually: curl -v https://cronbeat.io/p/YOUR_KEY
  • Increase the grace period to at least 1.5x your job's typical duration
  • Check that outbound HTTPS to cronbeat.io is allowed by your firewall

curl returns "404 Not Found"

Cause: The Ping Key doesn't exist or was deleted.

Solution:

  • Verify the monitor exists in your dashboard
  • Copy the Ping Key from the Integration section on the monitor detail page
  • The Ping Key is a 21-character string like V1StGXR8_Z5jdHi6B-myT

My job runs but the ping doesn't seem to be sent

Check these:

  1. Are you using && between your job and curl? If the job exits with a non-zero code, curl won't run
  2. Try running the curl command manually to verify it works
  3. Check if your environment has internet access (common in restricted containers)

How is "missing" detection calculated?

CronBeat uses your schedule (cron expression or interval) to calculate when the next ping is expected. After the expected time passes, CronBeat waits for the grace period before triggering an alert.

text

If no ping arrives by the alert time, a Missing alert is triggered.


Active Monitoring

My HTTP monitor shows "Down" but the site works in my browser

Possible causes:

  1. The endpoint requires authentication that isn't configured in the monitor
  2. The endpoint blocks requests without a browser User-Agent
  3. Geo-blocking — CronBeat checks from its server location
  4. The endpoint redirects, and "Follow Redirects" is disabled
  5. SSL certificate issues (self-signed, expired)

Solutions:

  • Add required headers (e.g., Authorization, User-Agent) in monitor config
  • Enable "Follow Redirects" if the endpoint uses redirects
  • Disable "Validate SSL" if using a self-signed certificate (not recommended for production)

My HTTP monitor is "Up" but I'm getting Rule Matched alerts

This means the connection succeeds but your alert rule conditions are being met. Check:

  • Status code rule: Is the endpoint returning the expected status code?
  • Response time rule: Is the threshold too aggressive? Consider increasing it.
  • Body content rule: Has the response format changed?

TCP monitor shows "Down" for my database

Check:

  1. Is the database listening on the configured port?
  2. Does the host allow external TCP connections?
  3. Is there a firewall blocking the connection from CronBeat's IP?

What timeout does CronBeat use for active checks?

Monitor TypeTimeout
HTTP10 seconds
TCP10 seconds
ICMP Ping5 seconds

These timeouts are not user-configurable. If a check doesn't complete within the timeout, it's recorded as a failed check.


Alerts & Notifications

I'm not receiving alert notifications

Check these in order:

  1. Channel verified? — Email channels must be verified before they can send alerts
  2. Channel assigned? — The channel must be assigned to the specific monitor
  3. Silence period? — If a previous alert was sent recently, the silence period may be active
  4. Channel configuration — Test the channel using the Test button in Settings

I'm getting too many alerts

Solutions:

  • Increase grace period (heartbeat) — Gives your job more time to complete
  • Increase silence period — Reduces how often repeated alerts are sent for the same issue
  • Check alert rules (active) — Your thresholds may be too aggressive
  • Increase check interval (active) — Less frequent checks = fewer alert triggers

How quickly are alerts sent?

  • Heartbeat missing: After schedule time + grace period expires
  • Active check failed / rule matched: Immediately after the check completes
  • Recovery: Immediately when the monitor returns to Up

Delivery speed by channel:

  • Email: 1-2 minutes
  • Slack / Webhook: Seconds

What is the silence period?

The silence period prevents repeated alerts for the same ongoing issue. After an alert is sent, CronBeat won't send another alert for the same monitor until the silence period expires (default: 1 hour).

Recovery alerts are always sent immediately, regardless of the silence period.


Account & Plans

How many monitors can I have?

PlanMonitor LimitData Retention
Free10 monitors30 days
Starter30 monitors90 days
Pro100 monitors180 days
Business500 monitors365 days

Can I mix heartbeat and active monitors?

Yes. All monitor types count towards your plan's monitor limit. You can have any combination of heartbeat, HTTP, TCP, and Ping monitors.

What happens when I hit my monitor limit?

You won't be able to create new monitors until you delete an existing one or upgrade your plan. Existing monitors continue to work normally.


Platform-Specific Examples

Crontab (Linux / macOS)

bash

Use the full path to curl (/usr/bin/curl) in crontab to avoid PATH issues.

Docker

bash

Node.js (node-cron / Agenda / Bull)

javascript

Python (APScheduler / Celery)

python

Still Need Help?

  • Check your monitor's event history in the dashboard for detailed logs
  • Test pings manually with curl -v https://cronbeat.io/p/YOUR_KEY
  • Contact support at [email protected]