Get started
Heartbeat + uptime monitoring

Know when your cron silently dies

Your job hits a unique URL on every run. When a ping is late, the alert is already in your Telegram. No agents, no credit card to start.

First check in 60 seconds Documentation

10 checks free forever Β· 14-day Pro trial, no card required

# crontab -e
*/5 * * * * backup.sh && \
  curl -fsS https://ping.cronalive.com/<uuid>

# a ping is late β†’
πŸ”΄ backup.sh is DOWN
β†’ Telegram Β· email Β· Slack Β· SMS Β· PagerDuty
Live dashboard

Every overnight job on one screen

CheckStatusPeriodLast ping7 daysUptime
nightly-backupprod up every 24 h 3 h ago 100%
send-invoicesbilling up every 5 min 41 s ago 99.98%
etl-syncdata up hourly 12 min ago 99.9%
wp-cronsite late every 15 min 19 min ago 99.4%
certbot-renewinfra up every 12 h 5 h ago 100%
db-replicationprod down every minute 27 min ago 97.2%

Statuses stream in over WebSocket, no refresh needed. "db-replication" has already paged Telegram β€” with the reason and the last ping time.

How it works

Three steps to sleeping well

β‘ 

Create a check

A simple period ("every 5 minutes"), a cron expression or a systemd OnCalendar β€” with a timezone and a grace period.

β‘‘

Add one line

curl in crontab, a Laravel scheduler macro, a Python decorator or a CLI wrapper β€” a check can even be created by its first ping.

β‘’

Get alerted

Telegram-first: DMs and groups. Plus email, HMAC-signed webhooks, Slack, Discord, SMS and PagerDuty β€” with quiet hours and repeat reminders.

Features

More than "ping arrived / didn't"

πŸ’“

Lifecycle signals

/start, /fail, exit codes 0–255 β€” run duration and hung jobs are visible on a chart.

🌐

HTTP uptime checks

Status codes, keyword checks, redirects, basic auth. An outage is confirmed by a second probe from another region.

πŸ”’

SSL expiry alerts

A warning 7/14/30 days before the certificate expires β€” before your customers notice.

πŸ“ˆ

Uptime & history

Live dashboard over WebSocket, 30/90/365-day uptime, ping log with body, IP and user-agent.

πŸ› 

API & SDKs

REST API v1 with rw/ro keys, Laravel/Python/Node packages, auto-provisioning straight from code.

🏷

Public badges

SVG status of a check or a whole tag β€” for READMEs, wikis and status pages.

Integrations

Alerts where you actually read them

Telegram Email Slack Discord Mattermost Webhook + HMAC SMS PagerDuty

Every channel gets event and tag filters, quiet hours, reminders and a delivery journal. Need your own format? Webhooks with body templates.

Use cases

What people monitor with CronAlive

πŸ’Ύ

Backups

A 3 a.m. pg_dump is the classic silent failure: the script dies, and you find out on restore day. Ping as the last line of the backup script, and a missed copy wakes you β€” not your customers.

πŸ“°

WP-cron

wp-cron only runs when traffic comes, and it dies quietly along with it. Move it to a real system cron with a ping, and WordPress scheduling stops being a black box.

πŸ”„

Scrapers & ETL

The nightly import "ran" β€” but hung halfway? The /start signal plus a success ping put every run's duration on a chart, so a stall shows up before the reports break.

πŸ“¬

Queue workers

A live worker process doesn't mean jobs are being processed. A heartbeat from inside the worker alerts when the queue goes quiet for too long β€” whatever the cause.

πŸ”

Certbot renewals

Certificate renewal breaks silently and expires loudly. A ping after certbot renew plus an SSL alert 14 days before expiry β€” two independent lines of defense against the "expired" padlock.

Pricing

Flat-rate: no pay-as-you-go surprises

Free

$0

10 checks Β· HTTP interval from 5 min Β· 30 days of history Β· 50k pings/mo

Start for free

Pro popular

$7 / 490 β‚½ per month

100 checks Β· interval from 1 min Β· 1 year of history Β· API, HMAC, SMS Β· 1M pings/mo

14-day trial

Business

$19 / 1490 β‚½ per month

500 checks Β· interval from 30 sec Β· 2 years of history Β· white-label badges, priority support Β· 10M pings/mo

Choose

Paddle checkout worldwide, YooKassa for Russian cards. Yearly billing saves 20%.

FAQ

Frequently asked questions

How is CronAlive different from Healthchecks.io and Cronitor?

Three things. Flat-rate pricing: a fixed monthly fee instead of pay-as-you-go, so the invoice never surprises you. Telegram-first alerts: DMs and group chats, linked with a single tap β€” no SMTP lag. And we take Russian cards (YooKassa) alongside international ones (Paddle).

What happens if I go over the ping quota?

Pings are never dropped β€” breaking a heartbeat defeats the purpose. You'll get an email suggesting an upgrade. Only after exceeding the quota more than 3x for two months in a row (and a 7-day heads-up) do we suspend creating new checks β€” existing ones keep being monitored and keep alerting.

How do I cancel?

Anytime β€” the plan stays active until the end of the paid period, then the account drops to Free. Checks over the Free limit get paused, not deleted. You can export your data as JSON and delete the account yourself.

Are ping bodies encrypted?

Yes. Ping bodies and HTTP check headers can carry sensitive data, so they are encrypted at the application level and purged when your plan’s retention expires. Everything travels over HTTPS only.

Why two ping domains?

Delivery resilience: dashboard snippets include a fallback out of the box (curl url1 || curl url2), and SDKs fetch the current domain list from the API. Losing one domain loses neither pings nor your sleep.

Does it work with systemd, Laravel and Kubernetes CronJobs?

Yes. systemd: ExecStopPost with $EXIT_STATUS and OnCalendar schedules. Laravel: a composer package with a scheduler macro. Kubernetes CronJob: curl as the last command of the container. Plus Python and Node packages.

Can my team use it?

Yes: project members with owner, admin and readonly roles. Invite a colleague by email from the project settings β€” the link is valid for 7 days, and if they have no account yet, the invitation applies right after sign-up. Pro includes up to 5 members, Business has no member limit; plan limits apply to the owner’s account, not per member.

Is there an API?

REST API v1: check CRUD, ping and event history, integration and pause management. Read-write and read-only project keys are issued in the project settings; a 600 req/min rate limit, an OpenAPI spec and static docs.

What's a grace period, and why isn't the alert instant?

Grace is the allowance after the deadline: cron rarely fires to the second, and without it any drift would page you for nothing. At the deadline the check turns "late", and only after grace does the "down" alert fire. An explicit fail signal alerts immediately, no waiting.

What if CronAlive itself goes down?

A monitoring service must be more available than what it monitors. The ping ingestion tier deploys and fails independently of the dashboard, and there are multiple ping domains. During a global outage on our side false down alerts are suppressed, and statuses are reconciled once we recover.