Monitoring a single server is easy. Run top and see CPU, free and see memory. But when that one server becomes hundreds, Lambda functions run thousands of times per second, and ECS tasks scale up and down, the act of "monitoring" itself becomes a different problem. Who collects these numbers? How do we order them by time? What granularity do we aggregate to? How do we decide what "abnormal" means? CloudWatch Metrics is the foundation that collects numeric time series from almost everything running on AWS, and on top of it sit alarms, autoscaling, dashboards, and anomaly detection.
Today we dig deep into this foundation