For EC2 instances there are two "perspectives" when it comes to monitoring.
The "outside world perspective"
What do the users see? Is your server/service available? How fast is it?
You can monitor this using a monitoring service (see http://serverfault.com/questions/1014/can-anyone-recommend-a-website-monitoring-service) or a monitoring software that runs on your own systems.
The "inside perspective"
How much load does the CPU experience? How much memory is free? How much disk or network traffic is going on?
There are two options to get this information:
A: Run a monitoring software directly on the server to monitor these parameters (that's what we do to get the results for www.cloudclimate.com).
- Advantages
- Disadvantages:
- You must install&run&maintain the software.
- You must have a software that matches the OS
B: With the recently introduced Amazon CloudWatch monitoring option you can get this information from the EC2 hypervisors. This is enabled in the AWS Management Console. Using a Cloudwatch compatible software you can track the data over time.
- Advantages
- Independent of the client OS
- Disadvantages
- it costs some 5-10 bucks extra per month
I have written a post about Amazon Cloudwatch and PRTG on my blog that explains how to do this.
Note: We are the creators of PRTG.