healthchecks.io Open in urlscan Pro
2a01:4f8:151:18c::2  Public Scan

Submitted URL: http://healthchecks.io/
Effective URL: https://healthchecks.io/
Submission: On May 24 via api from GB — Scanned from GB

Form analysis 0 forms found in the DOM

Text Content

Toggle navigation
 * Pricing
 * Docs
 * Blog
 * About
 * Sign In
 * Sign Up


SIMPLE AND EFFECTIVE CRON JOB MONITORING

We notify you when your nightly backups, weekly reports, cron jobs, and
scheduled tasks don't run on time.

For each of your tasks, Healthchecks.io provides a unique URL similar to this
one:

https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa

Make an HTTP request to the provided URL each time your cron job completes. When
Healthchecks.io does not receive a ping at the expected time, it sends you an
alert. You can monitor any service that can make an HTTP request or send an
email.

 * Crontab
 * Bash
 * Python
 * Ruby
 * Node.js
 * Go
 * PHP
 * C#
 * Browser
 * PowerShell
 * Email

# m h dom mon dow command
  8 6 *   *   *   /home/user/backup.sh && curl -fsS -m 10 --retry 5 -o /dev/null https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa


# using curl (10 second timeout, retry up to 5 times):
curl -m 10 --retry 5 https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa


# using wget (10 second timeout, retry up to 5 times):
wget https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa -T 10 -t 5 -O /dev/null


# Using Python 3 standard library:
import socket
import urllib.request

try:
    urllib.request.urlopen("https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa", timeout=10)
except socket.error as e:
    # Log ping failure here...
    print("Ping failed: %s" % e)


# Using the requests library:
import requests

try:
    requests.get("https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa", timeout=10)
except requests.RequestException as e:
    # Log ping failure here...
    print("Ping failed: %s" % e)


require 'net/http'
require 'uri'

Net::HTTP.get(URI.parse('https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa'))


var https = require('https');
https.get('https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa').on('error', (err) => {
    console.log('Ping failed: ' + err)
});


package main

import "fmt"
import "net/http"
import "time"

func main() {
    var client = &http.Client{
        Timeout: 10 * time.Second,
    }

    _, err := client.Head("https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa")
    if err != nil {
        fmt.Printf("%s", err)
    }
}


file_get_contents('https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa');


try
{
    using (var client = new System.Net.Http.HttpClient())
    {
        client.Timeout = System.TimeSpan.FromSeconds(10);
        client.GetAsync("https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa").Wait();
    }
}
catch (System.Exception ex)
{
    System.Console.WriteLine($"Ping failed: {ex.Message}");
}


// the server returns appropriate CORS headers so cross-domain AJAX requests work:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa', true);
xhr.send(null);


# inside a PowerShell script:
Invoke-RestMethod https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa


# Without an underlying script, passing the command to PowerShell directly:
powershell.exe -Command "&{Invoke-RestMethod https://hc-ping.com/eb095278-f28d-448d-87fb-7b75c171a6aa}"


As an alternative to HTTP requests, you can also report "liveness" by sending
email messages.

You can instruct Healthchecks.io to look for a particular keyword in the subject
line. This is handy when your backup software sends an email after every run,
and uses a different subject line depending on success or failure.

Set up monitoring for your cron jobs and background tasks, get immediately
alerted when something breaks.

Start Monitoring

Monitor 20 cron jobs for free. No credit card required.


A QUICK PEEK OF WHAT'S INSIDE:


LIVE-UPDATING DASHBOARD

A list of your checks, one for each Cron job, daemon or scheduled task you want
to monitor.

Give names and assign tags to your checks to easily recognize them later.

Tap on the integration icons to toggle them on and off.

Adjust Period and Grace time to match the periodicity and duration of your
tasks.


SIMPLE CONFIGURATION

Each check has configurable Period and Grace Time parameters. Depending on these
parameters and time since the last ping, the check is in one of the following
states:

New. A check that has been created, but has not received any pings yet. Up. The
time since the last ping has not exceeded Period. Late. The time since the last
ping has exceeded Period, but has not yet exceeded Period + Grace. Down. The
time since the last ping has exceeded Period + Grace. When a check goes from
"Late" to "Down", Healthchecks.io sends you a notification.


CRON EXPRESSION SUPPORT

Alternatively, you can define the expected ping dates and times using a cron
expression. See Cron Syntax Cheatsheet for the supported syntax features.

Grace Time specifies how "late" a ping can be before you are alerted. You should
set it to be a little above the expected duration of your cron job.


DETAILS AND EVENT LOG

You can add a longer, free-form description to each check. Leave notes and
pointers for yourself and your team.

You can also see the log of received pings and sent "Down" notifications.


PUBLIC STATUS BADGES

Healthchecks.io provides status badges for each of the tags you have used.
Additionally, the "Healthchecks.io" badge shows the overall status of all checks
in your account.

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


INTEGRATIONS
SET UP MULTIPLE WAYS TO GET NOTIFIED:

Email
 

Webhooks
 

Slack
Chat

Discord
Chat

LINE Notify
Chat

Matrix
Chat

Mattermost
Chat

Microsoft Teams
Chat

OpsGenie
Incident Management

PagerDuty
Incident Management

PagerTree
Incident Management

Phone Call
 

Prometheus
Event Monitoring

Pushbullet
Push Notifications

Pushover
Push Notifications

Signal
Chat

SMS
 

Spike.sh
Incident Management

Telegram
Chat

Trello
Project Management

Splunk On-Call
Incident Management

WhatsApp
Chat

Zulip
Chat


WHAT CAN I MONITOR WITH HEALTHCHECKS.IO?


CRON JOBS

Healthchecks.io monitoring is a perfect fit for cron jobs and cron-like systems
(systemd timers, Jenkins build jobs, Windows Scheduled Tasks, wp-cron, uwsgi
cron, Kubernetes CronJobs, Heroku Scheduler, ...). A failed cron job often has
no immediate visible consequences and can go unnoticed for a long time.

Specific examples:

 * Filesystem backups
 * Database backups
 * Daily, weekly, monthly report emails
 * SSL renewals
 * Business data import and sync jobs
 * Antivirus scans
 * Dynamic DNS updates


PROCESSES, SERVICES, SERVERS

You can use Healthchecks.io for lightweight server monitoring: ensuring a
particular system service or the whole server is alive and healthy. Write a
shell script that checks for a specific condition, and pings Healthchecks.io if
successful. Run the shell script regularly.

Specific examples:

 * Check a specific docker container is running
 * Check a specific application process is running
 * Check database replication lag
 * Check system resources: free disk, free RAM, ...
 * Send simple, unconditional "I'm alive" messages from your server (or your
   NAS, router, Raspberry Pi, ...)


HELPING THOUSANDS OF DEVELOPERS AND TEAMS AVERT SILENT FAILURES

> “I'm a happy long-time user of Healthchecks.io and keep coming back to it on
> new projects, because it's really easy to set up and offers reliable
> monitoring of all our cron jobs.”
> 
> Andrej Babic,
> founder of PingPong

> “Healthchecks.io has been extremely reliable and useful for the many years
> we've been using it. The system is very easy to use and well designed - the UI
> is clear and works the way you'd expect. The API is really handy too.”
> 
> Brett Harris,
> founder of WhatIsMyBrowser.com

> “Healthchecks.io is an absolute lifesaver. I'm using it to monitor an IoT
> gateway, and once, thanks to the quick heads-up from Healthchecks, was able to
> save the device from being fried after it had been accidentally placed on top
> of a hot router while cleaning!”
> 
> Joona Heikkilä,
> maker

> “Healthchecks.io is a great service. Simple, effective, highly reliable. It's
> caught issues on multiple occasions so it makes me look good which is always
> nice.”
> 
> Peter N Lewis,
> author of Keyboard Maestro

Set up monitoring for your cron jobs, catch issues early

Sign Up
×
Create Your Account
Enter your email address.

We will email you a magic sign in link.

Email Me a Link

 * © 2015-2022 SIA Monkey See Monkey Do
 * Terms
 * Privacy
 * Pricing
 * FAQ
 * API
 * Blog
 * Contact
 * Status