Operations | Monitoring | ITSM | DevOps | Cloud

How to Monitor Celery Beat and Catch Missed Periodic Tasks

To monitor Celery beat, give each periodic task its own heartbeat URL and ping it from the worker when the task succeeds, with a task_success signal handler. If beat is down, the message sits in a queue no worker reads, or the task raises, the ping does not arrive and you get an alert. The trap is that beat only publishes messages: its log prints Sending due task on schedule whether or not anything ever runs the task.

How to Monitor Database Backups and Get Alerted When One Fails

To monitor a database backup, make the backup script check its own output (exit code, file size, a table you know must be there) and ping a heartbeat URL only when all of it passed. If that ping does not arrive on schedule, you get an alert. A backup that failed, wrote an empty file, hung, or never started all look the same from the outside: no success ping.