Project is still a prototype and not production ready yet, so keep that in mind.
CronSentry is a lightweight, reliable monitoring service for your cron jobs and scheduled tasks. Get notified immediately when your scheduled jobs fail to run on time.
- Simple Ping System: Just add a simple curl command to your cron job
- Flexible Alert Thresholds: Set custom grace periods for each job
- Email Notifications: Get notified when jobs fail to run // In progress
- Status Dashboard: View the health of all your jobs in one place // In progress
- Extensible: Easy to add Slack, Discord, or other notification methods // In progress
- Authentication: Authentication via TBD // In progress
-
User-side Integration:
- Register a job in CronSentry to get a unique job ID
- Add a simple HTTP request to the end of your cron job command:
curl -s http://your-cronsentry-host:8080/api/ping/YOUR_JOB_ID - This curl command sends a "heartbeat" to CronSentry after your job completes successfully
-
Server-side Monitoring:
- When a ping is received, CronSentry updates the job's status to "healthy"
- A background service runs every 10 seconds to check for missing jobs
- If a job misses its expected ping time + grace period, its status changes to "missing"
- Missing jobs trigger notifications based on your settings
-
Job Status Lifecycle:
- Healthy: Job is running on schedule
- Missing: No ping received when expected
- Paused: Monitoring temporarily disabled
This design is lightweight and effective because it requires no agent installation on your servers - just a simple curl command added to your existing cron jobs.
curl -X POST http://localhost:8080/api/jobs \
-H "Content-Type: application/json" \
-d '{
"name": "Database Backup",
"description": "Daily database backup job",
"schedule": "0 0 * * *",
"grace_time": 15
}'curl -X POST http://localhost:8080/api/ping/YOUR_JOB_ID-
Clone the repository:
git clone https://github.com/zigamedved/OpenSentry.git cd cronsentry -
Start the application:
docker-compose up -d -
Access the dashboard at http://localhost:8080
Contributions are welcome! Please feel free to submit a Pull Request.
