Amazon CloudWatch
CloudWatch
You need to collect, monitor, and analyze logs, metrics, and alarms across all your cloud resources in one place.
Reach for it when
- Consolidating application stdout logs from ECS containers or Lambda functions for debugging.
- Setting alarms that trigger auto-scaling policies when EC2 CPU utilization exceeds 80% for five minutes.
- Creating operational dashboards to track system error rates, request counts, and latency metrics.
Do not reach for it when
- Storing long-term cold archives of application logs for compliance reviews — use S3 Glacier instead.
- Analyzing complex business intelligence metrics and building interactive client dashboards — use QuickSight instead.
- Running complex, ad-hoc search queries across terabytes of historical logs with sub-second speed — use OpenSearch instead.
Alternatives, and how to choose
| Service | Pick it instead when |
|---|---|
| OpenSearch | Choose it when you need full-text search, complex log aggregation, and real-time visualization. |
| CloudTrail | Choose it when you specifically need an audit trail of AWS API calls and account activities. |
How you pay
- The model
- Pay per GB of logs ingested and archived, per custom metric tracked, and per dashboard or alarm run.
- The line item that surprises people
- Ingesting high volumes of verbose debug logs or tracking hundreds of custom metrics can dominate your monthly bill.
What trips people up
- Logs are retained forever by default; you must explicitly set retention periods on log groups to prevent mounting storage costs.
- Standard CloudWatch metrics are resolved at one-minute intervals; high-resolution metrics require explicit configuration.
- Metric alarms can experience evaluation delays up to several minutes depending on the metric collection frequency.
Verify the live service
This page is a concept reference. Cost models are qualitative; confirm the current offering, Region and pricing before deploying.