Your server might be running perfectly while your website is completely broken. These two concepts — server uptime and website uptime — are fundamentally different, and conflating them leads to monitoring blind spots that cause preventable outages to go undetected.
What Is Server Uptime?
Server uptime measures whether a physical or virtual machine is powered on and reachable at the network level. It's typically monitored with:
- ICMP ping — Sends a network-level packet and checks for a response
- Infrastructure agents — Installed on the server to report CPU, memory, disk, and network metrics
- Cloud provider health APIs — AWS, Azure, GCP report the health of EC2 instances, VMs, etc.
Server uptime = the server is on and responding to network-level pings.
A server can report 100% uptime while:
- Your web application has crashed and isn't serving requests
- Your database connection pool is exhausted
- Your application is in an infinite loop consuming 100% CPU
- Your disk is full and application writes are failing
- Your web server process has stopped (nginx/Apache/Node is not running)
- Your application serves a 500 error page to every request
What Is Website Uptime?
Website uptime measures whether your application is successfully responding to HTTP requests from the perspective of an external user. It's monitored by:
- External HTTP checks — Request the URL and verify the response
- Response code validation — Confirm 200 OK (not 500, 502, 503)
- Content verification — Confirm the response contains expected content
- Response time measurement — Confirm the response arrives within an acceptable time
Website uptime = users can access and use the application correctly.
The Gap Between Server Up and Website Working
This gap is where many monitoring strategies fail. Consider these real-world scenarios where server uptime is 100% but website uptime is 0%:
Application Process Crash
Your Node.js application throws an unhandled exception and crashes. The server is still running, responding to pings, and metrics agents are still sending CPU/memory data. But no application process is listening on port 3000, so every HTTP request gets a connection refused error.
Infrastructure monitoring shows everything green. External website monitoring immediately catches the failure.
Database Connection Exhaustion
Your application server is running. Your database server is running. But you've hit your database's max_connections limit. New requests to your application time out waiting for a database connection. Users see a hanging page or a 504 Gateway Timeout.
Ping monitoring of both servers shows green. CPU and memory are fine. Only external website monitoring — which actually makes HTTP requests and waits for responses — detects the problem.
Deployment Gone Wrong
You deploy a new version that has a bug in the routing layer. All requests to specific URL patterns return 500 errors. The server is healthy. But users accessing the affected pages get errors.
Infrastructure monitoring is blind to this. External HTTP checks for the affected URLs catch it within seconds.
CDN Misconfiguration
Your CDN is misconfigured and starts serving 404 errors for all requests. Your origin server is perfectly healthy — requests never even reach it. But users are getting 404s everywhere.
Monitoring that checks origin server connectivity shows no issues. External website monitoring that checks the CDN-fronted URL catches the failure immediately.
Monitoring Each Layer
A robust monitoring strategy monitors both layers:
| Layer | What It Monitors | Tools | |-------|-----------------|-------| | Network/Server | ICMP reachability, port availability | Infrastructure agents, cloud provider dashboards | | Application | HTTP response codes, response content, latency | AzMonitor, Pingdom, external uptime monitors | | Database | Connection pool, query performance, replication lag | Database-specific monitoring tools | | CDN | Edge node health, cache hit rates | CDN provider dashboards + external checks | | DNS | Name resolution, TTL, DNSSEC | DNS monitoring (AzMonitor DNS checks) |
Why External Monitoring Is Non-Negotiable
The key insight is that external monitoring — from outside your infrastructure — is the only way to measure what users actually experience. Internal monitoring (agents on your servers, cloud provider health checks) tells you about your infrastructure. External monitoring tells you about your service.
Consider who finds out about problems first:
- Infrastructure monitoring only: Either your monitoring agent (if it catches it) or your users (if it doesn't)
- External monitoring: Your monitoring system, before users even notice
AzMonitor's external checks make HTTP requests from 20+ global locations, exactly simulating what a real user experiences. A server that's "up" but serving 500 errors is flagged as down immediately.
When to Use Each Type
Use server/infrastructure monitoring for:
- Capacity planning (CPU/memory trend analysis)
- Identifying the root cause of application failures (was it the server crashing?)
- Auto-scaling trigger metrics
- Security monitoring (unexpected processes, network connections)
Use external website monitoring for:
- Availability SLA measurement (what users actually experience)
- Performance monitoring (response times from user perspective)
- SSL and DNS health
- Content verification (is the right content being served?)
- Alerting on user-impacting issues
Use both together for:
- Faster root cause analysis (external alert fires → check infrastructure for cause)
- Complete coverage with no blind spots
- Credible SLA reporting based on user-experience data
The Combined Monitoring Approach
The practical recommendation: run both, but let external monitoring drive your incident alerts.
When external monitoring fires an alert, you already know the user impact. You can then turn to infrastructure monitoring to understand why — is it the application? The database? The server itself?
This sequence — "what's broken (external) → why is it broken (internal)" — is far more efficient than trying to correlate raw infrastructure metrics into user impact.
Set up external website monitoring with AzMonitor as your first line of defense, and layer infrastructure monitoring on top for root cause analysis. The combination gives you complete visibility into what users experience and why.
Related: see our guide on what uptime monitoring is and how it works for a deeper explanation of external monitoring techniques.
3 monitors free forever · No credit card needed · Set up in 2 minutes
Start monitoring free →