When you open the CloudWatch console, you're overwhelmed by an endless pile of graphs. EC2 CPU, ELB Request Count, Lambda Duration, RDS Connections, ECS CPU Reservation... An operator must judge "is our service down right now" in 5 seconds. To do that, you need to understand how metrics are stored, indexed, and billed. If you only memorize the UI, after a few minutes you'll lose the graphs, and when the bill arrives, you'll encounter a cardinality explosion.
Today we explore the data model, time resolution, retention policy, cardinality pitfalls, and cost structure of CloudWatch Metrics from an operator's perspective