Amazon CloudWatch: monitor your AWS infrastructure effectively
Practical guide to configuring Amazon CloudWatch: metrics, alarms, dashboards and logs to keep control of your cloud infrastructure.
Updated on 14 May 2025
Keep control of your cloud infrastructure
Amazon CloudWatch is the native monitoring service of AWS. It collects the metrics, logs and traces of all your AWS services and applications. Alarms alert you when something goes wrong. Dashboards visualize the state of your infrastructure in real time. For SMBs on AWS, CloudWatch is the first tool to configure after deployment.
Essential metrics to monitor
EC2
Monitor CPU usage, network traffic and instance status. CPU usage constantly above 80% indicates under-provisioning. Usage constantly below 20% indicates over-provisioning and wasted budget.
RDS
Monitor CPU usage, available memory, active connections and disk space. A database that runs out of memory or connections degrades your application’s performance.
Lambda
Monitor invocations, errors, execution duration and throttles. A rising error rate signals a problem in your code or in a dependent service. Throttles indicate that you are hitting concurrency limits.
S3
Monitor the number of requests, 4xx/5xx errors and bucket size. A spike in 4xx requests can indicate broken links or unauthorized access attempts.
Configure alarms
CloudWatch alarms monitor a metric and trigger an action when a threshold is crossed. Configure at least the following alarms for each production environment:
CPU usage on EC2 instances above 80% for 5 minutes triggers a warning. Above 95% for 5 minutes, it is a critical alert. RDS disk space below 20% triggers a warning. A Lambda error rate above 5% triggers an alert.
Notifications are sent through Amazon SNS. Configure an SNS topic with your team’s email addresses. For critical alerts, add SMS notifications or a Slack integration.
Create dashboards
CloudWatch dashboards group key metrics on a single screen. Create one dashboard per environment (production, staging) with the essential metrics: instance health, database performance, application error rate and costs in real time.
CloudWatch’s automatic dashboards generate an overview of your AWS services without configuration. This is a good starting point that you then customize to fit your needs.
Centralize logs
CloudWatch Logs centralizes the logs of your applications and AWS services. Lambda logs are sent automatically. EC2 logs require installing the CloudWatch agent. Application logs are sent through the AWS SDK.
CloudWatch Logs Insights lets you query your logs with a dedicated query language. You search for errors, filter by period and aggregate the results. This search capability is essential for diagnosing incidents.
LCMH configures CloudWatch monitoring for the AWS infrastructures of Alsatian SMBs.
For cost optimization, read our article on the 7 AWS cost optimization levers.
Sources
- AWS, Amazon CloudWatch. aws.amazon.com/cloudwatch
- AWS, CloudWatch Pricing. aws.amazon.com/cloudwatch/pricing
- AWS, CloudWatch Logs Insights. docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html
Frequently asked questions
- Is CloudWatch free?
- CloudWatch includes a generous free tier: 10 custom metrics, 10 alarms, 1 million API requests, 5 GB of ingested logs and 5 GB of archived logs per month. For most SMBs, the free tier covers basic needs.
- What is the difference between CloudWatch and tools like Datadog?
- CloudWatch is native to AWS, free for basic metrics and integrated with every AWS service. Datadog offers a richer interface, multi-cloud support and more third-party integrations, but costs from $15/host/month. For a 100% AWS infrastructure, CloudWatch is often enough.
- How do I get alerted when there is a problem?
- Create CloudWatch alarms on critical metrics (CPU, memory, errors, latency). Alarms send notifications through SNS (email, SMS, Slack). Configure warning (80%) and critical (95%) thresholds to anticipate problems.
Related Articles
AWS Cost Anomaly Detection: automatically detect unusual spending
How AWS Cost Anomaly Detection monitors your cloud spending and alerts you to abnormal consumption before the bill explodes.
CloudFormation vs Terraform: which Infrastructure as Code tool to choose?
Objective comparison between AWS CloudFormation and HashiCorp Terraform for managing your cloud infrastructure as code.
AWS Lambda: 10 concrete use cases to automate your business
Discover 10 practical AWS Lambda use cases to automate your business processes without managing servers.
The Well-Architected Framework explained for business leaders
Understanding the 6 pillars of the AWS Well-Architected Framework to make informed decisions about your cloud infrastructure.
caffeinate on Mac: prevent sleep during deployments
The caffeinate command prevents macOS from sleeping during AWS deployments, Docker builds, and data migrations. Practical guide with real examples.
AWS Raised Prices 15%? No, It's More Complicated Than That
Unpacking the AWS EC2 Capacity Blocks pricing adjustment: why alarmist headlines miss the point about dynamic pricing in cloud computing.