Downtime costs revenue, spikes support volume, and erodes trust in ways that are hard to win back. Uptime monitoring closes that gap: automated checks tell you a service is down before a customer does.
What Is Uptime Monitoring?#
Uptime monitoring is the practice of continuously checking whether your website or application is reachable and functioning correctly. A monitoring tool sends automated requests to your servers at a fixed interval and alerts you when a check fails.
Key Metrics#
Uptime percentage:
Uptime % = (Total Time - Downtime) / Total Time × 100
Uptime % = (Total Time - Downtime) / Total Time × 100
Common SLA targets and the downtime budget each one allows per month:
- 99.9% ("three nines"): 43.2 minutes/month
- 99.95%: 21.6 minutes/month
- 99.99% ("four nines"): 4.32 minutes/month
- 99.999% ("five nines"): 26 seconds/month
Response time bands most teams alert on:
- Good: under 200ms
- Acceptable: 200-500ms
- Slow: 500-1000ms
- Investigate: over 1000ms
Why It Matters#
An hour of downtime on a $100,000/day store costs roughly $4,166 in direct revenue at a flat run rate, before counting the support tickets that follow. Beyond revenue, Google's Core Web Vitals fold page speed into ranking signals, and a certificate that lapses or a deploy that fails outright can take a page out of the index entirely until it's fixed. SLA-backed contracts add a third cost: missed uptime commitments can trigger contractual penalties independent of any of the above.
How Uptime Monitoring Works#
Basic HTTP check:
GET https://example.comExpect: 200 OK within the timeout window
GET https://example.comExpect: 200 OK within the timeout window
Multi-step check (verifies more than one endpoint per run):
1. GET https://example.com → expect 2002. GET https://example.com/login → expect 2003. GET https://api.example.com/health → expect 200
1. GET https://example.com → expect 2002. GET https://example.com/login → expect 2003. GET https://api.example.com/health → expect 200
Geographic checks run the same request from multiple regions so a single bad route or regional outage doesn't get misread as global downtime, and so you can see whether latency is uniform or concentrated in one region.
Types of Uptime Monitoring#
1. HTTP/HTTPS monitoring#
The baseline check: request a URL, confirm the status code and response time. Covers "is the site reachable."
2. Ping monitoring#
An ICMP ping confirms the host responds at the network layer, independent of whatever's running on top of it. Useful for infrastructure that doesn't speak HTTP.
3. Port monitoring#
Opens a TCP connection to a specific port (22 for SSH, 3306 for MySQL, a custom app port) to confirm the service behind it is listening, without needing an HTTP wrapper.
4. SSL certificate monitoring#
Checks the certificate's expiry date and alerts a configurable number of days ahead. This catches the single most common self-inflicted outage: a certificate nobody renewed. See fixing SSL handshake failures for what happens when a handshake breaks for reasons beyond expiry.
5. DNS monitoring#
Confirms a domain still resolves to the expected record. Catches propagation issues after a DNS change and registrar-side misconfigurations before they take the whole domain down.
6. Keyword monitoring#
Fetches a page and checks for (or against) specific text. Catches a defaced page, a broken deploy that serves an error page with a 200 status, or a CMS outage that silently swaps in placeholder content.
7. Transaction (synthetic) monitoring#
Runs a scripted user flow, such as a full checkout, in a real browser and confirms each step succeeds. This is the only check type on this list that verifies the actual user experience rather than a server response.
Most tools cover the first two or three types. Fewer cover the full set in one product: ObserveOne runs HTTP, TCP/UDP port, SSL certificate, and database checks natively alongside its browser-based Autopilot suites, so the different failure modes above don't need separate vendors stitched together.
Best Uptime Monitoring Tools#
1. ObserveOne#
Unified uptime monitoring plus AI-generated, self-healing Playwright suites (Autopilot) in one product.
- HTTP/HTTPS, TCP, UDP, database, and SSL certificate monitoring
- Autopilot: AI-generated Playwright suites from a URL, self-healing on selector changes
- Multi-location checks, real-time alerts (Slack, Discord, email), status pages
Pricing: free tier, paid from $24/month (billed annually).
2. UptimeRobot#
Budget-friendly, simple HTTP/ping/port monitoring with a generous free tier (50 monitors, 5-minute intervals).
Pricing: free for 50 monitors, paid plans from around $7/month.
3. Pingdom#
Established uptime and RUM (real user monitoring) provider with global check locations and transaction monitoring.
Pricing: no free tier, paid plans from around $15/month.
4. StatusCake#
Global coverage (30+ locations) with SSL monitoring and public status pages built in.
Pricing: free tier (includes one SSL monitor), paid plans from around €17/month.
5. Better Stack (formerly Better Uptime)#
Rebranded and repriced in 2026: a free tier for personal projects (10 monitors, one status page), then a per-responder license (from roughly $29/month annually) that unlocks the full incident-management and on-call platform rather than a flat per-monitor fee.
6. Datadog#
Uptime checks as part of a full observability platform (APM, logs, infrastructure).
Pricing: usage-based, from about $5 per 10,000 API test runs, not a flat monthly fee.
7. Checkly#
Playwright-based checks written as code, API monitoring, and CI/CD integration.
Pricing: free Hobby tier, paid Starter plans from about $24/month.
Comparison Table#
Prices are entry-level tiers as of July 2026. Datadog prices by usage rather than a flat fee, and Better Stack's core plan is per responder license, not per monitor; treat both as starting points, not the ceiling.
| Tool | Free Tier | Check Interval | Locations | Browser Testing | Starting Price |
|---|---|---|---|---|---|
| ObserveOne | Yes | 1 min | Multi-region | Yes (Autopilot) | $24/month |
| UptimeRobot | 50 monitors | 5 min | Limited | No | ~$7/month |
| Pingdom | No | 1 min | Global | Yes | ~$15/month |
| StatusCake | Yes (1 SSL monitor) | 5 min | 30+ | Yes | ~€17/month |
| Better Stack | 10 monitors | 30 sec | Global | No | ~$29/responder/month |
| Datadog | Limited | 1 min | Global | Yes | $5/10k test runs |
| Checkly | Yes | 1 min | Global | Yes | $24/month |
How to Set Up Uptime Monitoring#
1. Identify critical endpoints. Homepage, login, checkout, and any revenue-critical API. Skip archives and low-traffic pages; monitoring everything just raises noise and cost.
2. Choose monitoring locations that match where your users actually are, not a default region list.
3. Set check intervals by criticality. Critical endpoints (homepage, checkout) every 1 minute; important pages every 5 minutes; low-traffic pages every 15 minutes or longer.
4. Configure alerts by severity. Route full outages to PagerDuty or phone calls, elevated response time to Slack, and certificate-expiry warnings to email. Alert after 2-3 consecutive failures, not the first one, to avoid flapping on a single dropped packet.
5. Publish a status page. A public page showing current status, uptime percentage, and incident history cuts support volume during an outage because customers can self-serve the answer.
6. Define escalation. Who gets paged at 5 minutes unresolved, who gets paged at 15, and who finds out only if it's still down at 30. Write it down before the first real incident, not during it.
Best Practices#
- Monitor from multiple locations. A single-region check can't tell a regional outage from a global one.
- Set intervals by criticality, not a single interval for everything: 1-5 minutes for critical services, 5-15 for important ones, 15-60 for the rest.
- Check content, not just status codes. A defaced page or a broken deploy can still return 200; keyword monitoring catches what a status check misses.
- Monitor SSL expiry with enough lead time (30, 7, and 1 day warnings) that a renewal never becomes an incident.
- Require consecutive failures before alerting. One retry after 30 seconds filters out the transient blips that would otherwise page someone for nothing.
- Watch response-time trends, not just thresholds. A page that's slowly drifting from 200ms to 350ms over three weeks is a warning most threshold-only alerts miss.
- Test your alerting, not just your checks: stop the service on purpose occasionally and confirm the right person gets paged within the expected window.
- Write the incident runbook before you need it: how to verify, how to find the root cause, when to escalate, and how to communicate to customers.
Common Issues and Fixes#
False positives from transient blips. Require 2 consecutive failures before alerting, with a short retry interval, instead of firing on the first failed check.
Alert fatigue. If every 500ms response triggers a page, thresholds are too tight. Alert on a sustained average (over a rolling window) instead of a single sample.
Missed regional outages. A site down in Asia but monitored only from the US looks fine on the dashboard. Add checks from every region with meaningful traffic.
SSL expiry surprises. A lapsed certificate is one of the most common and most preventable outages. Layered warnings (60, 30, 7, 1 day) turn a surprise into a scheduled task.
Uptime Monitoring Checklist#
Setup: critical endpoints monitored, multiple locations, appropriate intervals, SSL and DNS monitoring configured.
Alerts: notification channels configured, escalation policy defined, alert delivery tested, runbooks documented.
Status pages: public page live, uptime history visible, incident updates enabled, URL shared with customers.
Maintenance: alerts reviewed weekly, thresholds updated monthly, failover tested quarterly, full monitoring setup audited annually.
Conclusion#
Uptime monitoring is the floor, not the ceiling: it tells you a server responded, not that the experience it served was correct. Pair it with API monitoring for the endpoints behind the page and synthetic checks for the flows that actually make money, and the checks that fail will be the ones worth waking up for.
ObserveOne's free tier covers HTTP, TCP, UDP, database, and SSL monitoring alongside Autopilot's self-healing Playwright suites, so the uptime layer and the user-journey layer live in one dashboard instead of two.