Introduction to AWS CloudWatch

Sharing is Caring

AWS CloudWatch is a monitoring solution that’s provided by Amazon Web Services. It’s really a big service that contains a large collection of monitoring tools.

All of the below services build off of CloudWatch Logs:

  • Alarms
  • Container Insights
  • Contributor Insights
  • Dashboards
  • Events
  • Logs
  • Metrics
  • ServiceLens
  • Synthetics


Alarms trigger notifications based on metrics when your designated threshold has been breached. For example, after 5 500 errors occur in an AWS Lambda you could trigger a SNS message that gets sent to mobile phones.

Container Insights

When you are running containerized apps or microservices, you really need to log the data somewhere. Container Insights is a pretty good service for collecting and aggregating metrics and logs.

Contributor Insights

I’m not all that familiar with this service. Contributor Insights allows you to understand what is impacting systems and performance by finding heavy traffic patterns.


The dashboards allows you to create visualizations off of the various metrics that CloudWatch is logging. For example, database consumption or concurrent lambda requests.

Events / EventBridge

Basically when certain events occur things can be done within AWS. For example, you might have a lambda spin up and do some processing.


Any of your custom logs, or things like Memory Usage, Nginx Logs, etc. I like to push log data from EC2 Instances to the CloudWatch logs because it allows me to better search and analyze data. It also means my EC2 instances should be 100% stateless.

Any logs from AWS Lambda end up here.


Metrics are usually based off of the CloudWatch logs, it can be things like Memory Usage, CPU usage, etc.


ServiceLens is a newer service that allows you to better monitor and troublesheet issues with microservice based applications. It does this by unifying all of the metrics and logs allowing us to monitor performance end to end.

Basically, it’s Xray and CloudWatch together.


Synthetics allows us to write tests for our API and be able to monitor them in CloudWatch. Synthetics runs the tests every minute.

Sharing is Caring

Brian is a software architect and technology leader living in Niagara Falls with 13+ years of development experience. He is passionate about automation, business process re-engineering, and building a better tomorrow.

Brian is a proud father of four: two boys, and two girls and has been happily married to Crystal for more than ten years. From time to time, Brian may post about his faith, his family, and definitely about technology.