Many customers ask us for best practices on how to monitor EC2 servers on AWS. We are constantly coming up with new techniques that we ourselves use in our own hosted Amazon EC2 environment and things we learn in working with Amazon customers.
2. EC2 Instance Monitoring
• Monitor critical OS, system, and
process statistics in real-time
• Performance monitoring data
collected includes:
– CPU utilization
– Details of CPU Utilization
(CPU steal and I/O wait)
• Memory stats: cache, buffer, active
• Network TX and RX across each
NIC and in-aggregate
• Disk volume consumption by
volume
• Disk I/O
• Swap Activity
• Processes
• More
2
3. Installing on EC2
• Simple installation for CopperEgg on EC2 Instances
• Log into your console, copy and paste the Linux
command
• Instantly see your Instance’s health and performance
metrics
• Cloud Automation Support:
– Most of our Amazon EC2 Server Monitoring
customers include our install command as part of
their AMI. In this manner, CopperEgg is already
monitoring instances as soon as they are
activated. Many also utilize our Chef recipe
available at
https://github.com/CopperEgg/chef-copperegg
3
4. Effective EC2 Instance Tagging
• Tagging EC2 Instances so you can
effectively alert on certain conditions
is a cloud monitoring best practice
• Example: Tag your Instances East
and West, so you can effectively alert
for different zones or different groups
of servers
• Consider tagging Instances by
availability zone, region, or AMI type
• Tags are effective ways to filter your
views, restrict read-only accounts or
direct alert notifications
4
5. EC2 Instance Process Monitoring
• 3 ways CopperEgg can help you with EC2 Instance Process Monitoring:
1. Easily identify a process that has consumed too much memory or CPU. If a system is
running high on CPU or memory, you can detect which processes may need to be
stopped or restarted.
2. Discover if an issue arises by 2 or more processes or jobs running simultaneously. This
might cause a high load on the system and may extend the run time of the combined
jobs as opposed to them running at various times. Example: running an AV scan while
trying to do a backup.
3. Gain visibility into multiple CPUs to determine if a process or job may not be written to
take advantage of multiple CPUs. If this was not visible, a job may take longer to execute
than anticipated. With CopperEgg you can verify that a job is only using one CPU as
opposed to multiple.
5
6. AWS EC2 Sizing Tool
• The CopperEgg AWS Sizing Tool tracks the usage
of your current systems (whether enterprise or
cloud-based) and recommends optimal AWS EC2
instance sizes. For EC2 Sizing help visit our AWS
Sizing Tool: copperegg.com/aws-sizing-tool/
6
7. Who is CopperEgg?
• Check out CopperEgg performance
monitoring for your apps, websites, and
servers at copperegg.com
• More AWS Resources:
– http://copperegg.com/aws-resources/
7