Monitoring in AWS — Let’s cloud!

Sonali Moholkar
just2girlsintech
Published in
3 min readMay 26, 2020
CloudWatching — Portland, Maine

Recently while debugging some performance related issues, I had to monitor the AWS resources that my application was using & a part of it involved checking out the cloudwatch alarms & metrics. While doing so I went deep into all the clouds — there’s cloudwatch, there’s cloudtrail, there’s config. What’s the purpose of these different clouds for monitoring ?

Whatever you build on AWS, you will have to monitor it and also do some sort of logging & auditing so that you can get an idea of how your systems are performing.

AWS CloudWatch:

It’s a monitoring service for AWS resources and applications. Its main job is to monitor the performance & resources. How is the performance affected based on certain actions of the user ? — Cloudwatch can tell you that. There are a bunch of things in cloudwatch:

  1. Cloudwatch Metrics — It provides metrics for every service in AWS. For example CPUUtilization, network etc. There are up to 10 dimensions per metric. Dimensions is basically an attribute of a metric (eg — environment, instanceId etc). Metrics also have timestamps. We can create cloudwatch dashboards of these metrics. You can also define & send your own Custom Metrics to cloudwatch using the putMetricData api call.
  2. CloudWatch Dashboards — It consists of a bunch of graphs from same or different regions. It gives you a good visual representation. You can also set automatic refresh of the dashboard. You can choose any timeframe you want eg — last 6hrs , last 30 mins etc.
  3. CloudWatch Logs — Cloudwatch can get logs from your application or various AWS resources eg: API Gateway, Route53, AWS lambda etc. Cloudwatch logs can also be sent to S3 or elastic search etc for further analytics.
  4. CloudWatch Alarms — They are used to trigger notifications for any metric. eg messages on your SQS queue exceeded a certain limit etc. These alarms have 3 states OK, INSUFFICIENT_DATA, ALARM.
  5. CloudWatch Events — It is a stream of system events describing changes in your AWS resources.

AWS CloudTrail:

It deals with API level monitoring. When user logs into AWS and performs any actions — all that can be monitored using cloudtrail. So it has all the info of who made what changes eg — I created new ec2 instance or I created a new queue etc all that info is monitored using cloudtrail. If you see that a resource is deleted in AWS — check your cloudtrail first. Cloudtrail is enabled by default.

AWS Config:

It records config level changes of your AWS resources. It also notifies if any changes are made to your account.

Ummm…there are actually two more clouds left — Cloudformation & Cloudfront !! But they have nothing to do with monitoring.

CloudFormation — It is just a template that will spin up all the AWS resources you need effortlessly. You just define whatever you want in that template & AWS magically creates it for you! https://aws.amazon.com/cloudformation/

CloudFront — It’s just a content delivery network for low latency distribution of contents with high data transfer speeds. https://aws.amazon.com/cloudfront/

Have fun clouding ;)!

--

--