Guides
Monitor every scheduled job
34 step-by-step guides: add one ping to a crontab line, a systemd timer, a Kubernetes CronJob, a CI schedule or a framework scheduler, and get one alert when it stops running.
Basics
- Cron Job Start and Fail SignalsSend /start, success and /fail pings from cron jobs to measure run time and catch hung jobs. Includes a reusable bash wrapper script with trap and exit codes.
- Cron Schedule, Time Zone and Grace PeriodPick the right monitoring schedule for a cron job: period or cron expression, IANA time zones, how cron handles daylight saving time, and sizing grace time.
- Dead Man's Switch Monitoring ExplainedWhat dead man's switch monitoring is, how push-based heartbeat checks differ from pull-based uptime monitoring, and which jobs and systems benefit from each.
- How to Monitor Cron JobsLearn how to monitor cron jobs with heartbeat pings: why cron fails silently, how a dead man's switch catches missed runs, and how to set up a first check.
- Set Up Cuckoo Alerts: Email, Slack, Discord and WebhooksSet up Cuckoo alert channels: email, Slack and Discord webhooks, signed generic webhooks with HMAC verification, retries, and how to avoid alert fatigue.
Linux, cron and systemd
- Cron Job Exit Code MonitoringSend a cron job's exit code to Cuckoo via /ping/YOUR-UUID/$?, attach the log tail with curl --data-binary and use set -o pipefail so pipes can't hide errors.
- Crontab and curl: Add a Cuckoo Ping to Any JobAdd a heartbeat ping to crontab entries with curl: safe flags, && chaining, when to use || true, PATH and environment pitfalls, MAILTO and tested examples.
- Monitor Certbot Certificate RenewalMonitor certbot renew from a systemd timer or cron: why --deploy-hook and --post-hook fall short, and how to report the exit code (plus acme.sh).
- Monitor systemd Timers with CuckooMonitor systemd timers with heartbeat pings: ExecStartPre and ExecStartPost signals, OnFailure= or ExecStopPost with SERVICE_RESULT, Persistent= and journalctl.
- Send Cron Job Logs with a Cuckoo PingCapture a cron job's stdout and stderr, POST the last 10 KB with the heartbeat ping, redact secrets before sending and keep full logs locally with logger.
Docker and Kubernetes
- Kubernetes CronJob Monitoring with CuckooMonitor Kubernetes CronJobs with start and exit pings: a batch/v1 manifest with timeZone, deadlines and a Secret, plus why metrics miss jobs that never ran.
- Monitor Cron Jobs in Docker ContainersMonitor cron jobs in Docker: supercronic inside the container or host cron with docker compose run --rm, exit codes, env passing and Cuckoo pings.
CI/CD schedules
- Monitor GitHub Actions Scheduled WorkflowsMonitor GitHub Actions on.schedule workflows: ping Cuckoo with if: success() and failure(), keep the URL in a secret and catch delayed or auto-disabled runs.
- Monitor GitLab CI Scheduled PipelinesMonitor GitLab pipeline schedules with Cuckoo: rules on CI_PIPELINE_SOURCE, an after_script that reports CI_JOB_STATUS, and a masked CI/CD variable.
Frameworks
- Monitor Django and Celery Beat Periodic TasksMonitor Celery beat periodic tasks and Django management commands with start, success and fail pings, and get alerted when beat or the worker stops.
- Monitor GoodJob Cron Jobs with CuckooMonitor GoodJob cron jobs in Rails: configure enable_cron and cron entries, then ping Cuckoo with an ActiveJob around_perform callback on each run.
- Monitor Rails Cron Jobs Built with WheneverAdd heartbeat monitoring to Rails cron jobs from the whenever gem: a custom job_type with curl, or Net::HTTP pings inside rake and runner tasks.
- Monitor sidekiq-cron Jobs with CuckooMonitor sidekiq-cron scheduled jobs: ping Cuckoo from perform, report failures with rescue, and decide how Sidekiq retries map to fail alerts.
- Monitor the Laravel Scheduler with CuckooMonitor Laravel scheduled tasks with pingBefore, pingOnSuccess and pingOnFailure, plus a check for schedule:run itself. Works on Laravel 10 to 13.
Languages
- Monitor APScheduler Jobs in Python with CuckooMonitor APScheduler 3.x jobs with Cuckoo: CronTrigger with timezone, misfire_grace_time and max_instances, plus pings from listeners or the job itself.
- Monitor BullMQ Job Schedulers and Repeatable JobsMonitor BullMQ job schedulers and older repeatable jobs: ping Cuckoo from worker events or the processor, and only alert once attempts are used up.
- Monitor Go Cron Jobs and robfig/cron SchedulesMonitor Go scheduled jobs with Cuckoo: a ping helper using net/http and context timeouts, robfig/cron/v3 with CRON_TZ, and standalone binaries run by cron.
- Monitor PHP Cron Scripts with CuckooMonitor PHP CLI scripts run by cron: ping Cuckoo with curl or file_get_contents, catch fatal errors with register_shutdown_function, and set exit codes.
- Monitor node-cron and Croner Jobs in Node.jsMonitor node-cron and Croner scheduled jobs in Node.js with fetch and AbortSignal.timeout pings, and get alerted when the whole Node process goes down.
Cloud schedulers
- Monitor AWS EventBridge and Lambda Cron JobsMonitor scheduled AWS Lambda functions: EventBridge cron syntax with six fields and ?, time zones, Python and Node handlers that ping start, success and fail.
- Monitor Cloudflare Workers Cron TriggersMonitor Cloudflare Workers Cron Triggers: a scheduled() handler that pings start, success and fail, wrangler crons in UTC, ctx.waitUntil and a URL secret.
- Monitor Google Cloud Run Jobs and Cloud SchedulerMonitor Cloud Run jobs triggered by Cloud Scheduler: ping once per execution, handle CLOUD_RUN_TASK_INDEX and max-retries, and avoid false alerts on retries.
Backups
- Borg Backup MonitoringMonitor BorgBackup: a script for borg create, prune and compact, how borg exit codes 0, 1 and 2 work, and borgmatic's healthchecks hook pointed at Cuckoo.
- Monitor Litestream SQLite BackupsMonitor Litestream SQLite replication with a scheduled restore test: restore to a temp file, PRAGMA integrity_check, a freshness query and a Cuckoo ping.
- Monitor pg_dump BackupsMonitor PostgreSQL pg_dump backups: custom-format dumps, pipefail, a size check, upload and a fail ping when the dump looks too small, plus a mysqldump note.
- Restic Backup MonitoringMonitor restic backups with one script for backup, forget --prune and check, exit codes like 3 for incomplete snapshots, an env file and heartbeat pings.
Windows
Sentry SDK check-ins
- Sentry Crons for Node.js: Send Check-ins to CuckooUse @sentry/node cron monitoring with Cuckoo: withMonitor, captureCheckIn, monitorConfig and the node-cron and cron instrumentation, plus the DSN trade-offs.
- Sentry Crons for Python: Send Check-ins to CuckooPoint the Sentry Python SDK's cron monitoring at Cuckoo: the @monitor decorator, capture_checkin, Celery beat auto-instrumentation and the DSN trade-offs.
Comparisons
Try it on one job
Free for 20 checks. No card needed.
Start monitoring for free