cronbird is a lightweight HTTP service that monitors cron job execution through callback pings and exports metrics for Prometheus/VictoriaMetrics.
When a cron job completes, it sends a POST to cronbird. If a callback isn't received within the expected timeframe, your monitoring system raises an alert.
- Single binary, no external dependencies (no database, no Redis)
- ~3 MB memory, ~12.5 MB Docker image
- Prometheus text exposition format + JSON metrics
- Optional bearer token authentication
- Periodic state snapshots to JSON file
- Graceful shutdown, health checks, structured logging
cp .env.example .env
# edit .env
docker compose up -dSend a callback from your cron job:
pg_dump mydb > /backup/mydb.sql && \
curl -X POST http://cronbird:8080/callback/daily-backupCheck metrics:
curl http://cronbird:8080/metricsSet up an alert in Prometheus:
- alert: CronJobMissed
expr: time() - cronbird_last_callback_timestamp_seconds > 7200
for: 5m
annotations:
summary: "Cron job {{ $labels.identity }} missed callback"| Topic | Link |
|---|---|
| Installation (Docker) | docs/installation/DOCKER.md |
| Installation (Kubernetes) | docs/installation/KUBERNETES.md |
| Installation (from source) | docs/installation/SOURCE.md |
| Configuration | .env.example |
| API | docs/API.md |
| Monitoring & Alerts | docs/monitoring/PROMETHEUS.md |
| Security | docs/security/SECURITY.md |
| Troubleshooting | docs/TROUBLESHOOTING.md |
| Development | DEV.md |
MIT
