ztn.sh healthchecks is a service for monitoring cron jobs and similar periodic processes:
ztn.sh healthchecks works as a dead man's switch for processes that need to run continuously or on a regular, known schedule. For example:
ztn.sh healthchecks is not the right tool for:
A Check represents a single service you want to monitor. For example, when monitoring cron jobs, you would create a separate check for each cron job to be monitored. Each check has a unique ping URL, a set schedule, and associated integrations. For the available configuration options, see Configuring checks.
Each check is always in one of the following states, depicted by a status icon:
Ping URL. Each check has a unique Ping URL. Clients (cron jobs, background workers, batch scripts, scheduled tasks, web services) make HTTP requests to the ping URL to signal a start of the execution, a success, or a failure.
While the "success" signals are essential, "start" and "failure" are optional. You don't have to use them, but you can gain additional monitoring insights by using them. See Measuring script run time and Signaling failures for details.
You should treat ping URLs as secrets. If you make them public, anybody can send telemetry signals to your checks and mess with your monitoring.
Grace Time is one of the configuration parameters you can set for each check. It is the additional time to wait before sending an alert when a check is late. Use this parameter to account for small, expected deviations in job execution times. If you use "start" signals to measure job execution time, Grace Time also sets the maximum allowed time gap between "start" and "success" signals. If a job sends a "start" signal but then does not send a "success" signal within grace time, ztn.sh healthchecks will assume the job has failed, and send out alerts.
An Integration is a specific method for delivering monitoring alerts when checks change states. ztn.sh healthchecks supports many different types of integrations: email, webhooks, SMS, Slack, PagerDuty, etc. You can set up multiple integrations. For each check, you can specify which integrations it should use.
For more information on integrations, see Configuring notifications.
Project. To keep things organized, you can group checks and integrations in Projects. Your account starts with a single default project, but you can create any number of additional projects as needed. You can transfer existing checks between projects while preserving their configuration and ping URL.
Each project has a configurable name, a separate set of API keys, and a separate project team. The project's team is the set of people you have granted read-only or read-write access to the project.
For more information on projects, see Projects and teams.