An on-call engineer is investigating a report of high memory usage on an EC2 instance, but the CloudWatch console shows CPUUtilization and NetworkIn for the instance and no memory metrics at all. What should the engineer do to make memory utilization available in CloudWatch?
Choose one.
Default EC2 metrics come from the hypervisor, which can only observe the instance from outside: CPU, network, disk I/O, and status checks. Memory utilization, disk-space utilization, and swap usage are internal to the guest OS, so they are never in the default metric set.
Installing and configuring the CloudWatch agent is the only way to collect in-guest metrics such as memory, because the agent runs inside the operating system and publishes what the hypervisor cannot see. Detailed monitoring is tempting but only increases the frequency of the same hypervisor metrics; a metric filter works on logs, not OS measurements; and IAM changes grant permission without creating any data source.
- Confirm the missing metric is an in-guest metric (memory, disk space, swap) rather than a hypervisor metric.
- Install the CloudWatch agent on the instance.
- Configure the agent's JSON configuration to collect the memory metrics required.
- Verify the new metrics arrive in CloudWatch and build alarms or dashboards on them.
Exam tip: Memory and disk-space metrics missing from CloudWatch always point to installing the CloudWatch agent — detailed monitoring never adds new metrics.
CloudWatch Metrics, Alarms, and Log Filters for SOA-C03 — the lesson that teaches this.