AWS CloudWatch allows you to monitor events and logs from the services you are running. There are a set of default metrics provided, and you can also create you own custom metrics.
From a running EC2 instance, let’s look at the metrics displayed beneath your selected instance, on the Monitoring tab:
By default we get metrics displayed for:
- CPU utilization
- Disk reads/writes bytes and operations
- Network in/out bytes and packets
- Status checks failed
Now let’s create a new CloudWatch dashboard and add some metrics. Press ‘Create Dashboard’:
Next you can select a chart type, and then select from the available metrics. For EC2 there are 105 metrics to pick from:
Let’s see what options we have – you can enter filter values in the entry field. Let’s say I’m interested in disk reads/writes:
Notice the second column is by InstanceId, so if you have many instances (including it seems terminated instances which are showing in my list), make sure you pick the stats for the instance you want to monitor – here I’ve added a widget for Disk read/write bytes, and CPU utilization: