* About Health Monitoring
Health monitoring via scheduled cron jobs—heartbeat pings, uptime checks, and liveness probes—is one of the oldest and most reliable patterns in systems operations. A cron job runs at a fixed interval, makes a lightweight request to a service endpoint, and alerts if the service fails to respond. This pattern underpins the monitoring infrastructure of millions of production services worldwide.
Types of Health Monitoring Cron Patterns
Simple Uptime Pings
* * * * *— Every minute. Maximum cron resolution, ~30 second average MTTD. For critical customer-facing services.*/5 * * * *— Every 5 minutes. The most commonly used health check interval, ~2.5 minute average MTTD.*/10 * * * *— Every 10 minutes. Suitable for internal services.*/30 * * * *— Every 30 minutes. Background services and data pipelines.
Heartbeat and Dead-Man's Switch Checks
A dead-man's switch inverts the usual model: instead of the monitor calling the service, the service calls the monitor at regular intervals. If the monitor does not receive a ping within the expected window, it raises an alert. This is particularly valuable for monitoring cron jobs themselves—if your nightly backup fails silently, a heartbeat check catches it.
Synthetic Transaction Monitoring
Beyond simple ping checks, synthetic monitoring validates that a complete user journey works end-to-end. A cron job at */15 * * * * might log into your application with a test account, complete a representative transaction, and report the outcome.
Common Use Cases
- SSL certificate expiry monitoring: A weekly job at
0 9 * * 1checks certificate expiry dates for all production domains. - API rate limit headroom: A periodic check at
*/30 * * * *monitors remaining quota and alerts before exhaustion. - Disk space and resource monitoring: A job at
*/15 * * * *checks disk utilisation and file descriptor usage.
Best Practices for Health Monitoring Cron Jobs
- Keep checks fast and lightweight. Target sub-second check execution.
- Build in retry logic. Implement a 2-of-3 failure threshold before alerting.
- Check from multiple locations. True availability requires checking from multiple regions.
- Separate check intervals by criticality. Tier-1 (
* * * * *), tier-2 (*/5 * * * *), tier-3 (*/30 * * * *). - Test your monitoring pipeline. Deliberately take a service offline to verify alerts fire.
Seed schedules in this topic
- At 09 through 1700 Monday through Friday schedule page
- Every 30 minutes at hour 9-17 every day on Monday
- At 0800 and 1200 and 1700 Monday through Friday schedule
- At 0830 Monday through Friday schedule page
- At 08 through 1700 Monday through Friday schedule page
- At 0200 every day on Monday schedule page
- At 0300 every day on Sunday schedule page
- At 0100 every day on day 1 of the month
- At 0400 every day schedule page
- At 0130 every day schedule page
- At 0300 every day on day 1 of the month
- At 0200 every day on Sunday schedule page
- At 0300 every day on Saturday schedule page
- At 0400 every day on day 1 of the month
- At 0230 every day schedule page
- At 0100 every day on Sunday schedule page
- At 0600 every day on Monday schedule page
- At 0700 every day on Monday schedule page
- At 0530 every day schedule page
- At 2345 every day schedule page