Grad shape
Grad shape

Healthchecks

Automation

About this project

Tests Coverage Status

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.

Screenshot of My Checks page

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.

Screenshot of Period/Grace dialog

Alternatively, you can define the expected schedules using a cron expressions. Healthchecks uses the cronsim library to parse and evaluate cron expressions.

Screenshot of Cron dialog

Check details page, with a live-updating event log.

Screenshot of Check Details page

Healthchecks provides status badges with public but hard-to-guess URLs. You can use them in your READMEs, dashboards, or status pages.

Screenshot of Badges page

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

Technologies & License
BSD-3-Clause Python Docker
Quick Deploy

Deploy this project to cloud platforms with one click