Monitoring dynamic instances can be a challenge. The classic monitoring tools expect your systems to be around for a long time, and can have difficulty recognizing the difference between an instance that has failed and an instance that has been terminated as part of an Auto Scaling event or other planned termination in response to changes in capacity requirements.
AWS provides its own CloudWatch monitoring service, designed from the ground up to work in such an environment. Additionally, with some planning and custom scripting, most traditional monitoring tools can be used to monitor dynamic instances without spamming operators with false alarms when instances are terminated. This chapter showcases some of these methods as well as how to best use Amazon’s CloudWatch service, and how the two can be integrated.
A cottage industry of cloud-based monitoring tools has sprung up around AWS and other cloud providers. There are far too many tools to mention in this book, and each has its own strengths and weaknesses.
The tighter these tools integrate with AWS, the more useful they are. Most advanced tools automatically query the EC2 tags associated with instances and use them to aggregate metrics. This allows the same tool to generate a high-level overview of your application across all EC2 regions, or drill down to view the performances of instances in a particular availability zone.
There are many reasons for setting up a monitoring system ...