What it does
FlatLyne monitors cron jobs, scheduled tasks and background workers. Each check gets its own URL. A job sends one HTTP request to that URL when it finishes. Adding /start to the URL measures how long a run takes. A job can also append an exit code to the URL. An exit code of 0 counts as success, and any other number counts as a failure. A check follows either a cron schedule with a time zone, or an interval. If the expected ping does not arrive, a grace period starts. When the grace period ends with no ping, the check is marked down. FlatLyne then alerts by email, Slack, PagerDuty or webhook. An event log records the missing ping, the grace period and each alert sent.
Capabilities
- Pinging /fail reports a failure and alerts right away, without waiting for the grace period.
- Pings can use GET or POST. A request body of up to 10 KB is stored with the ping.
- One ping key per project can ping any check in that project by its slug.
- Webhook alert bodies are written by the user. The example webhook is signed with X-FlatLyne-Signature.
- Ping URLs are encrypted at rest. Keys are stored only as SHA-256 hashes.
When to use it
- Monitoring database backups, with the ping added after the backup command, such as pg_dump … && curl $URL.
- Monitoring Kubernetes CronJobs, with the ping placed in the last step of the container command.
- Monitoring certificate renewals, with the ping added through certbot renew --deploy-hook.