Healthchecks
About this project
Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts.
Healthchecks comes with a web dashboard, API, 25+ integrations for delivering notifications, monthly email reports, WebAuthn 2FA support, team management features: projects, team members, read-only access.
The building blocks are:
- Python 3.10+
- Django 5.2
- PostgreSQL, MySQL or MariaDB
Healthchecks is licensed under the BSD 3-clause license.
Healthchecks is available as a hosted service at https://healthchecks.io/.
A Dockerfile and pre-built Docker images are available.
Screenshots:
The "My Checks" screen. Shows the status of all your cron jobs in a live-updating dashboard.
Each check has configurable Period and Grace Time parameters. Period is the expected time between pings. Grace Time specifies how long to wait before sending out alerts when a job is running late.
Alternatively, you can define the expected schedules using a cron expressions. Healthchecks uses the cronsim library to parse and evaluate cron expressions.
Check details page, with a live-updating event log.
Healthchecks provides status badges with public but hard-to-guess URLs. You can use them in your READMEs, dashboards, or status pages.
Setting Up for Development
If you are planning to developing Healthchecks, please read CONTRIBUTING.md.
To set up Healthchecks development environment:
-
Install dependencies (Debian/Ubuntu):
sudo apt update sudo apt install -y gcc python3-dev python3-venv libpq-dev libcurl4-openssl-dev libssl-dev
-
Prepare directory for project code and virtualenv. Feel free to use a different location:
mkdir -p ~/webapps cd ~/webapps
-
Prepare virtual environment (with virtualenv you get pip, we'll use it soon to install requir