Amazon AWS makes it easy for us to set up servers and services quickly and easily. However, since we are responsible ourselves for making sure that everything is running smoothly. It is not possible without a monitoring solution to ensure that everything on your AWS cloud is working perfectly.
Amazon CloudWatch is the solution provided by Amazon to assist us in making sure that all the services we are using on Amazon AWS are running smoothly all the time.
In this article, I will explain how AWS with Amazon CloudWatch will give benefits to our application as well as our resource on the cloud.
Monitoring is crucial for your application because it gives you satisfaction that your Cloud services, your application or whatever is it you are hosting on AWS is running smoothly and perfectly.
Some of the main reasons of monitoring are:
- To make sure that your website/cloud and app are always online.
- To make your application secure for your customers.
- It can help you monitor the resultant performance and cost of your application.
- Troubleshooting and recommendation for future and how to avoid the existing errors.
Any application you run on your AWS cloud can be monitored by using the Amazon CloudWatch, it will monitor your resource files on the cloud and collects the log metrics files. It is basically a metrics repository like Amazon EC2 and you retrieve the statistics based on those metrics. It can monitor your resources on the cloud like Amazon DynamoDB tables, EC2 instance, and Amazon RDS DB instances, or any custom metrics that is being generated by your application.
Benefits of Monitoring with AWS CloudWatch
Amazon CloudWatch provides you a most reliable, scalable and flexible way to monitor your resource or application on cloud. You can manage resource utilization of your servers.
Some of the key benefits are:
Monitor Amazon EC2
EC2 ensures you provide hardware and software hosted on cloud on demand basis. Amazon offers you a service of monitoring your EC2 instance on the basic and detailed scale. It does not require any software to be installed to offer monitoring.
It can be:
- Basic Monitoring: It offers you basic monitoring with seven metrics at the five- minute frequency for free.
- Detailed Monitoring:It offers you detailed monitoring for charge. It can monitor with 1-minute frequency for additional charge.
It offers you EC2 instance metrics aggregation with the auto scaling group or Elastic Load Balancer. The data monitoring is retained up to 14 days regardless of basic or detailed monitoring.
Other Resource Monitoring
There is no additional software needed to monitor other resources. It monitors resources automatically. Like, for example,
- For request count and latency, it monitors Elastic Load Balancer.
- For metrics such as read/write latency, it monitors Amazon EBS.
- Amazon RDS DB instances can be monitored for freeable memory and available storage space.
- Amazon SQS metrics for number of messages sent and received.
- Amazon SNS for number of messages published and delivered.
Custom Metrics Monitoring
Amazon CloudWatch provides you the facility to monitor custom metrics, by submitting custom metrics generated by our application. The metrics can be submitted by the simple API request. The available functionality will be available up to one-minute frequency.
Logs Monitoring and Storing
CloudWatch provides you facility to troubleshoot your system and maintain and store the respective log file automatically. You can set an alarm for the error occur in your system log and with minute details you can see the original stored data. You can view the graphical view of your web request latencies from your log.
You can use the alarm to detect or shutdown Amazon EC2 instances that are unused or underutilized. The EC2 instances can add or remove using autoscaling, all based on your Amazon Cloudwatch metrics.
Some volume like Amazon EBS does not send metric data for an available volume that is attached to Amazon EC2 instance. The reason being that for EBS volume, there is no monitoring of activity.
You can define certain threshold for three conditions
OK:The metric is within the defined threshold.
ALARM:The metric is outside of the defined threshold.
INSUFFICIENT_DATA:The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state.
Graph and Statistics View
Using AWS CloudWatch, you can see the graphical data analyzed by the log maintained at backend using the dashboard for Amazon CloudWatch. This will allow you to monitor AWS resource in one location. These statistics of up to minute data and the historical data is available for up to 14 days. After two weeks, it is refreshed in its cache.
Quick Response and Monitoring
Amazon CloudWatch gives you the facility of checking the resource on Cloud. It enables you to respond quickly to the events or error occurred at run time. The notifications from AWS services delivered in near real-time will facilitate Amazon CloudWatch events to respond quickly. You can add rules to check simply which event are of your interest and relevant to your application.