Healthchecks.io is a service for monitoring regularly running tasks such as cron jobs. It uses the Dead man's switch technique: the monitored system must "check in" with Healthchecks.io at regular, configurable time intervals. As soon as Healthchecks.io sees a missed check-in, it sends you an alert.
This method of monitoring is also known as "heartbeat monitoring": the monitored system sends regular heartbeat signals. Healthchecks.io monitors the heartbeats and notifies you when they don't arrive on schedule.
Healthchecks.io runs on Hetzner bare metal servers, with healthy excess capacity to handle traffic spikes (which cron jobs with common schedules are prone to create).
Our app servers are load-balanced, and unhealthy servers are excluded from load balancing automatically.
Our load balancer servers are monitored, and unhealthy load balancers are removed from DNS rotation automatically.
Our PostgreSQL database has a hot standby, as well as daily encrypted backups to AWS S3. The database fail-over is handled manually. The ops team consists of a single person, so multi-hour or even multi-day outages are possible.
In cases of service disruptions, we post status updates to:
Healthchecks.io is a product of SIA Monkey See Monkey Do, currently a one-man software and consulting company. The one man is Pēteris Caune, a long time Python developer from Valmiera, Latvia. Mastodon, GitHub.
Yes! We offer the Business plan free of charge for nonprofits and open-source projects. Please contact us to get set up.
Yes! The Healthchecks.io code base is BSD licensed and is developed in the open on GitHub. Self-hosting is a good option if you need to extend the project with proprietary features, if you must run everything in-house for compliance reasons, or if you want to learn about developing and deploying Django web applications. Please note that maintaining a production-grade monitoring service is not a fire-and-forget task, and in many cases, the hosted option will be more reliable and cost-effective.
It depends :-). To help you decide, we have prepared a Healthchecks.io vs Cronitor comparison table.
Healthchecks.io supports signing in via one-time email link (you enter your email address in the sign-in form, you receive a link in email, you click the link which signs you in) and traditional sign-in with email and and password.
You can optionally secure your Healthchecks.io account with two factor authentication. Healthchecks.io supports:
If you have lost or forgotten your password, please do the following:
Please contact us at [email protected] in case you need assistance!
Yes, you can change the account owner's email address: go to Account Settings › Email and Password. Note that the "new" email address must be available (i.e., have no registered Healthchecks.io account yet).
The ordering on Healthchecks.io is fully self-service – after register for an account on Healthchecks.io, navigate to Account Settings › Billing, select a plan, and enter your payment details. Your payment method will get charged, and a recurring subscription will be set up. Every time your payment method is charged you will receive a PDF invoice in email.
We do not accept payments via bank transfer. We currently accept Visa, Master Card, American Express, and PayPal.
Please do not use multiple accounts to get around the limits of the Hobbyist and Supporter plans. This will be considered abuse. You will be asked to reduce the number of checks or to upgrade to a plan with a higher check limit. In case of no action, eventually, your accounts will be deleted.
Special cases:
If you are looking to consolidate multiple accounts into one, Healthchecks.io has tools to help you:
Healthchecks.io will retry charging your payment method and send weekly notifications to the account owner's email address about the billing problem. If your subscription remains past due for more than 60 days, Healthchecks.io will cancel your subscription and switch your billing plan to Hobbyist.
If an account is on the Hobbyist plan but exceeds the Hobbyist plan's limits, Healthchecks.io will send weekly emails to the account's owner asking to either reduce the number of checks in the account or upgrade to a paid plan. In case of no action, eventually, Healthchecks.io will delete the account.
To avoid billing-related disruption to the service:
Look up what timezone your server is using. Make sure that your checks on Healthchecks.io are configured with the same timezone.
If you have recently changed the server's timezone, but have not restarted the cron daemon afterward, it might still be using the old timezone. Restart the cron daemon.
Also, check if your server's clock shows correct and accurate time.
The Healthchecks.io alerts are "one-shot". However, some integrations can be configured to re-send or escalate alerts until you acknowledge them. If you are integrating Healthchecks with an incident management system (PagerDuty, VictorOps, OpsGenie, PagerTree), check the available settings there. If you are using the Pushover integration, you can configure it to use the "Emergency" priority. Pushover repeats emergency notifications every 5 minutes until they are acknowledged.
Healthchecks also has optional periodic email reminders. In Account Settings › Email Reports, you can choose to receive daily or hourly email reminders as long as there are any checks down. Healthchecks.io will send these notifications for all projects you have access to: the projects you own and the projects you have been invited to.
If you notice reliability issues or unexpected HTTP status codes from the ping endpoints, please report the issue to us. Include as much of the below diagnostic information as is feasible:
curl -vvv {your-ping-url}
.You can add set up multiple email addresses to receive notifications in the Integrations page. For example, you can add the email address of your ticketing system, so a new ticket gets created when a check goes down.
You can also invite your team members to your projects in Settings › Team Access. In addition to receiving notifications, invited team members will be able to access your account, see the list of checks, inspect ping logs, set up additional notification methods etc. They will not be able to access your account's billing settings.
Yes, we publish the current IP addresses as plain text files here:
https://healthchecks.io/ipv4.txt
https://healthchecks.io/ipv6.txt
Note: these are the IP addresses that the hc-ping.com domain can resolve to when clients make HTTP requests to ping endpoints. Healthchecks.io uses a different set of IP addresses for making outbound HTTP requests (for example, when using webhook integrations). These IP addresses are currently not published.
hc-ping.com and hchk.io are the hostnames we use for ping URLs. Healthchecks.io originally used the hchk.io hostname only. In June 2018, due to .io TLD stability concerns, we registered hc-ping.com and started to use it in the website UI, in the pinging examples, in the documentation, etc.
From functional perspective, the hc-ping.com and hchk.io hostnames are interchangeable. You can replace "hchk.io" with "hc-ping.com" in any ping URL and it will work the same.
hc-ping.com is the preferred hostname for ping URLs, but the hchk.io-based URLs still work and can be used. If the usage of the hchk.io hostname drops to a very low level, we may decide to decommission this domain. In that case, we will notify any affected users at least one year in advance.
We do not have an official bug bounty program, but will be very grateful if you report any discovered security issues to [email protected].
We have not performed any formal penetration tests.
We process and store data on Hetzner servers located in Germany.
SIA Monkey See Monkey Do, the company running Healthchecks.io, is registered in Latvia. GDPR applies to us.
We have no compliance certifications or attestations.
See our Data Breach Policy here.
We do not offer to sign SLAs.