Website monitoring that checks from outside your network
Updated Aug 19, 2026
Your own servers cannot tell you they are down. Undownable checks your site from outside it, confirms a failure before it wakes anyone, opens an incident, alerts the channels you already use, and publishes the result on a status page your users can read.
What website monitoring is for
Website monitoring means something outside your infrastructure asks your site whether it is alive, on a schedule, and tells you when the answer changes. The outside part is the point: a dashboard on the same box as the application cannot report that the box is gone. An external checker can, because it stands where your users stand.
The people who need it are the ones who currently learn about outages from customers: solo founders, agencies looking after client sites, homelab operators, and teams whose on-call rotation is one person with a phone.
Eight kinds of check, one dashboard
- HTTP(S): follows up to five redirects and judges the final status code. Any 2xx or 3xx passes by default, or pin an exact code.
- Keyword: everything HTTP does, plus an assertion that a string is present in, or absent from, the body.
- JSON value: reads a dot-notation path out of a JSON response and compares it to a value you expect.
- SSL certificate: verifies expiry, hostname and SAN match, and full chain trust.
- TCP port: opens a raw socket to prove something is listening. IPv4 and IPv6.
- DNS record: resolves a chosen record type and optionally asserts the answer contains a value.
- Ping: ICMP reachability with the round-trip time read from the reply.
- Heartbeat: the reverse direction. Your cron job pings a private URL; the alert fires when the pings stop.
Stacking types on one target is normal. A production site deserves an HTTP check on the homepage, a keyword check on the part that proves the database is attached, an SSL check, and a DNS check on the record that gets everyone there.
Why a single blip never pages you
Every monitor carries a failure threshold and a recovery threshold, defaulting to two consecutive failures to declare an outage and one success to clear it, both editable. A one-off timeout increments a counter and nothing else happens.
There is a third state between up and down. A probe that reaches your service but has something to warn about, most often a TLS certificate inside its expiry window, reports degraded: visible and alerted, but counted as up, because the site is serving and nothing is broken yet.
Incidents that open and close themselves
You never file an incident by hand. Crossing the failure threshold opens one, stamped with the detected cause and a running clock. Recovery resolves that same incident and records the outage duration, which rides along in the recovery alert.
Alerts, and only one of each
Alerts go to email, ntfy, Telegram, Slack, Discord, and generic webhooks. Every channel is on the free plan; none is held back as an upsell. Attach channels to a monitor to route it, or leave it unrouted and it alerts every channel on the team.
Delivery is exactly-once. A ledger claims each incident transition per channel before sending, so a flapping monitor cannot double-page you or swallow the recovery.
Status pages
Every plan includes a public status page: live status for the monitors you add, the incident timeline, and the per-day uptime strip over 90 days, computed from real check results.
Setting one up
- Create a monitor, name it, and pick the type that matches what you are watching.
- Enter the target: a URL for HTTP, keyword, and JSON checks, a hostname for SSL, DNS, and ping, a host and port for TCP. Heartbeat monitors have no target.
- Choose an interval. Five minutes on the free plan, down to one minute on Pro, on a fixed minute grid.
- Adjust the timeout and thresholds if the defaults (15 seconds, two failures) do not suit.
- Attach notification channels, or attach none and let the team-wide channels handle it.
- Optionally tag it. Tags group the monitor list, status tiles, and API listings.
Free covers ten monitors, five-minute checks, one status page, and 30 days of history, permanently. Pro is a flat price for the whole team with no per-seat or per-monitor charges: 50 monitors, one-minute checks, unlimited status pages and members, custom domains, and a year of history. Every account starts with a 14-day Pro trial, no card.
Questions people ask
How quickly will I know my site is down?
On a one-minute interval with the default two-failure threshold, roughly two minutes. On the free plan five-minute interval, roughly ten.
Does monitoring slow my site down?
No. A check is one ordinary request on your interval, and bodies are read only up to a cap and only when an assertion needs them.
Can I monitor something that is not on the public internet?
Not directly: outbound checks to private and internal addresses are blocked by design. The answer for a homelab is a heartbeat monitor, where the service pings Undownable from the inside.
What happens during planned maintenance?
Open a maintenance window covering the affected monitors and they are not checked while it is active. Windows open and close from the REST API, so your deploy script can do it.
Is the free plan a trial?
No. Free is permanent, with no card on file. The Pro trial is separate and lapses back to Free on its own.
Related reading
Monitoring that watches from the outside
Free plan with 10 monitors, plus a 14-day Pro trial. No credit card required.
Start free