Custom CloudWatch metrics
If you look at the CloudWatch dashboard, there are four default metrics, as follows:
- CPU
- Disk I/O
- Network
- Instance/system status check
These default metrics (CPU, status check, and network) can be seen in the following screenshot:
But why are some of the standard metrics such as memory utilization or disk space not default metrics? The reason behind that is that an EC2 instance is a VM that emulates computer hardware such as CPU, random-access memory (RAM), and disk. Your AWS service can't look inside your instance because its operating system controls how many resources need to be allocated, such as how much memory is required. This is the main reason why it's not possible to determine memory utilization by looking at the virtual hardware. We need to install solutions such as CloudWatch agents to get these metrics and push them to CloudWatch...