Checker

AWS site monitoring: watch your website from inside and outside AWS

Dashboard demo · sample data

Sample values only: your website is not checked. Real measurements start after sign-up.

Demo

Dashboard

1 site Avg. uptime 99.93% (28 days) Avg. response time 411 ms

This is the real dashboard layout with sample values. Hover over a chart to see daily values.

Monitor this website for real

Short answer

To monitor a website hosted on AWS, combine two views. Inside AWS, Amazon CloudWatch collects metrics and logs from EC2, load balancers, Lambda, CloudFront and databases and raises alarms; Route 53 health checks and CloudWatch Synthetics canaries test endpoints from AWS locations. Outside AWS, an independent uptime monitor checks the site the way visitors reach it, so you still get an alert when an AWS region, your account or your monitoring itself has a problem. Track availability, response time, error rates (5xx), latency and resource use, and alert on symptoms visitors feel. monitordefend checks your site’s uptime and response time every five minutes from outside AWS and alerts by email.

  • CloudWatch: metrics, logs and alarms for AWS resources.
  • Route 53 health checks and Synthetics canaries: endpoint tests.
  • External uptime monitoring: an independent view from outside AWS.
Monitoring layers for a website on AWS
External uptime monitor
Visitor view, independent of AWS
Route 53 health check / Synthetics
Endpoint tests from AWS locations
Load balancer & CloudFront metrics
5xx rate, latency, healthy hosts
EC2, RDS, Lambda metrics
CPU, memory, connections, errors
From the visitor’s view down to individual resources.

Hosting a website on Amazon Web Services gives you reliable infrastructure, but not a website that monitors itself. Instances run out of memory, deployments break pages, certificates and DNS settings get changed, autoscaling hits limits and, occasionally, an AWS service in a region has problems. AWS offers a rich set of monitoring tools, from CloudWatch to Route 53 health checks and synthetic canaries. This guide explains which of them to use for website monitoring, what they cost in effort, which metrics matter, and why an external monitor outside AWS belongs in every setup.

What AWS site monitoring involves

Monitoring a website on AWS means watching two things: the experience of visitors and the health of the AWS resources behind it. The first tells you whether there is a problem; the second helps you find out why. A complete setup measures availability and response time from outside, error rates and latency at the entry points, and resource metrics of the compute, database and storage services.

AWS provides the building blocks, but you have to assemble them: choose metrics, create alarms, decide who gets notified and keep the configuration up to date as your architecture changes.

Amazon CloudWatch

CloudWatch is the central monitoring service of AWS. Most services publish metrics there automatically: CPU utilisation of EC2 instances, request counts and latency of load balancers, error counts of API Gateway and Lambda, connections and storage of RDS databases, cache hit rates of CloudFront. Memory and disk usage of EC2 instances need the CloudWatch agent. CloudWatch Logs collects application and web server logs, and Logs Insights lets you query them.

  1. Visitor Browser, anywhere
  2. Route 53 & CloudFront DNS and CDN
  3. Load balancer Distributes requests
  4. EC2 / ECS / Lambda Your application
A typical request path on AWS: each hop needs its own metrics.

Alarms turn metrics into notifications. An alarm watches a metric, compares it with a threshold over a number of periods and triggers an action, typically a message to an Amazon SNS topic that forwards it to email, SMS, chat tools or incident platforms. Dashboards combine the most important metrics on one screen.

Route 53 health checks

Route 53 health checks request an endpoint from several AWS locations at regular intervals and mark it healthy or unhealthy. They can check HTTP and HTTPS status codes, look for a string in the response and measure from different regions. Their main purpose is DNS failover: Route 53 can stop sending traffic to an unhealthy endpoint. Combined with a CloudWatch alarm, they also work as a simple uptime monitor for public endpoints.

CloudWatch Synthetics canaries

Synthetics canaries are scripts that run on a schedule and test your website like a user: load a page, click through a flow, check an API, take screenshots and record load times. They catch broken user journeys that simple health checks miss, such as a failing login or checkout. Canaries need scripting and maintenance and are billed per run, so most teams reserve them for the few journeys that matter most.

CloudWatch alarm on load balancer errors (example)
Metric      AWS/ApplicationELB · HTTPCode_Target_5XX_Count
Statistic   Sum over 5 minutes
Threshold   > 20 for 2 consecutive periods
Action      SNS topic → email / chat / on-call
Alarms on symptoms such as 5xx errors catch problems visitors notice.

Real user monitoring and Internet Monitor

CloudWatch RUM collects performance data and errors from real visitors’ browsers via a small script, including Core Web Vitals. Internet Monitor uses AWS’s view of global internet traffic to show availability and performance problems between your users and your application. Both are useful for larger applications with users in many regions.

Why you still need external monitoring

Monitoring that runs inside the same cloud shares some of its risks. If a region has a problem, alarms can be delayed; if an account is suspended, credentials expire or someone deletes the wrong configuration, the monitoring may go silent at the same moment as the website. And internal metrics do not always reflect what visitors see: an application can be healthy behind a misconfigured CDN, an expired certificate or a broken DNS record.

Why an outside view matters
  1. Regional network problem affects the website
  2. Internal alarms delayed: monitoring in the same region
  3. External uptime monitor alerts: site down
  4. Region recovers, external monitor sends all-clear
An independent monitor does not share the fate of what it monitors.

An external uptime monitor run by a different provider checks the public URL the way visitors reach it. It is cheap, independent of your AWS configuration and gives you an uptime history you can compare with AWS’s own status information. Think of it as the smoke detector that does not depend on the building’s power.

Which metrics to watch

Alert on symptoms that visitors feel, such as errors and latency, and use resource metrics to diagnose. Alerts on every CPU spike create noise.

Monitoring static sites on S3 and CloudFront

Static websites served from S3 through CloudFront have fewer moving parts, but they can still fail: an expired or misconfigured certificate, a changed bucket policy, a broken deployment that deletes files, or DNS mistakes. CloudFront publishes error rates and request counts to CloudWatch. An external uptime check of the homepage and a few key pages, plus a link check after each deployment, covers most risks.

p95 latency at the load balancer820 ms
Threshold 1,000 ms Mon: 410 ms Mon Tue: 430 ms Tue Wed: 420 ms Wed Thu: 460 ms Thu Fri: 520 ms Fri Sat: 1,240 ms Sat Sun: 980 ms Sun Mon: 820 ms Mon
Latency percentiles show slow requests that averages hide.

Costs and effort

Basic CloudWatch metrics are included for most services; detailed metrics, custom metrics, alarms, logs, dashboards, health checks and canary runs are billed by usage. For small websites the cost is modest, but configuration effort is not: someone has to choose metrics, set thresholds and maintain alarms as the architecture changes. External uptime monitoring adds little cost and almost no maintenance.

A practical setup

For a typical website on AWS: an external uptime monitor for the public URLs; CloudWatch alarms for 5xx errors, latency and healthy hosts at the load balancer or CloudFront; resource alarms for the database and instances with generous thresholds; log retention and a few saved queries for troubleshooting; and notifications to a shared channel. Add Synthetics canaries for critical journeys once the basics are reliable.

What to do when an alert fires

Start with the outside view: is the site down for everyone, or only slow? Check the AWS Health Dashboard for service events in your region. Then follow the request path: DNS and certificate, CloudFront, load balancer health and error counts, application logs, database metrics. Recent deployments and configuration changes are the most frequent cause, so check them early.

monitordefend for websites on AWS

monitordefend provides the outside view: it checks each website’s URL every five minutes from servers in Germany, independent of AWS, confirms outages with a second attempt and alerts by email when the site is down or slower than your threshold. It does not integrate with CloudWatch or read AWS metrics. Its other checkers cover broken links, sitemap, indexing, traffic, checkout and security signals of the website itself.

Frequently asked questions

How do I monitor a website hosted on AWS?

Use CloudWatch metrics and alarms for your AWS resources, Route 53 health checks or Synthetics canaries for endpoints, and an external uptime monitor outside AWS for an independent view.

Does AWS have a website uptime monitor?

Route 53 health checks and CloudWatch Synthetics canaries can test public endpoints and trigger CloudWatch alarms. They run inside AWS.

Why use external monitoring if I have CloudWatch?

Because monitoring inside AWS can be affected by the same problems as your website, and internal metrics do not always show what visitors experience.

What should I alert on for a website on AWS?

Availability from outside, 5xx error rates, latency percentiles and unhealthy hosts. Use CPU and memory metrics mainly for diagnosis.

How much does CloudWatch monitoring cost?

Basic metrics are included for many services. Custom metrics, alarms, logs, health checks and canary runs are billed by usage.

Where should my external monitor run?

Outside AWS, at a different provider, so that it does not share failures with your website. A location near your main audience gives realistic response times.

How do I avoid alert fatigue with CloudWatch?

Alert on a few symptom metrics with thresholds over several periods, send warnings and critical alerts to different channels and review alarms that fire without action.

Can I monitor an S3 static website?

Yes. Use CloudFront metrics in CloudWatch and an external uptime check of the public URLs.

Add an outside view to your AWS monitoring

Start for free and set up your first check in minutes.

Start for free