hostnag vs Healthchecks.io
Healthchecks.io does one thing well: it listens for pings from cron jobs, backups and daemons, with periods, grace times, cron-expression schedules and a generous free plan, and the whole service is open source to self-host. The same heartbeat beside the external view: uptime, certificates, domains, DNS and mail setup on one timeline, so the job that renews a certificate and the certificate itself are watched together.
14 days of Pro to start, then free for 20 hosts. No card, nothing to install.
Side by side
Healthchecks.io read from its public documentation on 2026-09-17. Tell us if it changed.| What breaks | Healthchecks.io | hostnag |
|---|---|---|
| A host goes downwebsite, API, VPN, mail, gateway | No | Yes |
| Healthchecks.io: Healthchecks.io only listens for pings; it polls nothing. Its own pitch is cron jobs, daemons and scheduled tasks that can send an HTTP request. | ||
| A certificate expiresdays-before thresholds, daily inside the last window | No | Yes |
| Healthchecks.io: Nothing is polled; the homepage suggests pinging it from the job that renews a certificate, not watching the certificate. | ||
| A domain lapsesregistration expiry from RDAP | No | Yes |
| Healthchecks.io: Nothing is polled; no domain check exists. | ||
| A certificate is swappedfingerprint changed, wrong host, chain not trusted | No | Yes |
| Healthchecks.io: Nothing is polled; no certificate check exists. | ||
| A DNS record driftsexpected answer missing or changed | No | Yes |
| Healthchecks.io: Nothing is polled; no DNS check exists. | ||
| An ISP link dropsthe public address from several locations, by ping or a TCP port, confirmed by a ping from an internal device | No | Yes |
| Healthchecks.io: Nothing is polled; an internal device could ping it, which is half of a link check.hostnag: external and internal | ||
| Mail stops being deliveredMX, SPF, DKIM, DMARC and blocklists, at the expiry cadence of your plan | No | Yes |
| Healthchecks.io: Nothing is polled; no mail check exists. | ||
| A scheduled job stops runningcron, backups, workers: a heartbeat that goes quiet | Yes | Yes |
| Healthchecks.io: A unique ping URL per job, a period and a grace time; a check is Late past the period and Down past period plus grace. | ||
| Your nameservers or registrar changenameservers, registrar, DNSSEC, certificate issuer, DNS answers, redirect targets | No | Yes |
| Healthchecks.io: Nothing is polled; no domain or DNS check exists. | ||
| A vendor you depend on has an incidenttheir status page read for an outage or degraded state, the incident named | No | Yes |
| Healthchecks.io: Nothing is polled; no status page reader exists.hostnag: read from their own status page | ||
UNKNOWN means their documentation did not say either way on the day we read it. PARTLY is covered with a limit noted in the cell.
What Healthchecks.io has that we don't
- Open source under the BSD-3-Clause license, self-hostable from a Docker image, with 25+ notification integrations.
- A free plan for 20 jobs, and a $5 Supporter plan for those who want to pay for it anyway.
- Cron-expression schedules with time zones, start and fail signals, and a log of every ping with its body.
Switching
- 01List your checks from the Healthchecks.io Management API; each is one row.
- 02Put them in a CSV with at least the columns type and target (name, interval, port, keyword, expected_status and record_type are optional; the import dialog links a template) and upload it in the import dialog.
- 03Every check becomes a heartbeat row (type heartbeat) whose interval column is the period in minutes; each gets a new hostnag ping URL to point the job at, and the grace period is set on the monitor.
- 04A cron-expression schedule becomes the nearest interval: hostnag expects a ping every N minutes, not at a wall-clock time.
- 05Check intervals snap up to the nearest hostnag preset (1, 5, 15, 60, 360 or 1440 minutes).
- 06Monitors are created up to your plan's limit; the rest stay listed in the preview so nothing is lost silently.
Pricing
A free Hobbyist plan monitors 20 jobs with 100 log entries each; Business is $20 a month for 100 jobs and Business Plus $80 for 1,000, with 1,000 log entries per job.Free
$0/ mo$0/ yrFor your own handful of hosts.
- Monitors
- 20
- Beacons
- 2
- Groups
- 3
- Status pages
- 1
- Seats
- 3
- Every
- 5min
- Locations
- 1
- History
- 30days
- Channels
- Email, Slack, Discord, Microsoft Teams, Telegram, Webhook
- More
- No packs
Pro
$19/ mo$190/ yrFor a team's sites, APIs and gateways.
- Monitors
- 100
- Beacons
- 10
- Groups
- 25
- Status pages
- 10
- Seats
- 10
- Every
- 1min
- Locations
- 3
- History
- 90days
- Channels
- Email, Slack, Discord, Microsoft Teams, Telegram, Webhook, PagerDuty, Opsgenie
- More
- Packs of 100 monitors at $15 a month, up to 4; packs of 10 beacons at $10 a month, up to 9
Business
$79/ mo$790/ yrFor many groups: clients, products or offices.
- Monitors
- 500
- Beacons
- 100
- Groups
- ∞
- Status pages
- ∞
- Seats
- ∞
- Every
- 1min
- Locations
- 5
- History
- 365days
- Channels
- Email, Slack, Discord, Microsoft Teams, Telegram, Webhook, PagerDuty, Opsgenie, SMS
- More
- Packs of 100 monitors at $15 a month, as many as you need; packs of 10 beacons at $10 a month, as many as you need
Sources
Read on 2026-09-17.Bring your Healthchecks.io monitors. Hear about the next outage first.
Start free