Skip to content
Welcome To Charanjit Cheema Blog

Welcome To Charanjit Cheema Blog

An Open Source and Cloud Blog

Menu
  • Home
  • About Me!
  • Way to my Technical Blog
  • Contact me
  • Privacy Policy
Menu

How to use Amazon Cloudwatch to monitor my AWS EC2 resources

Posted on March 14, 2019 by Charanjit Cheema

Amazon CloudWatch is a monitoring service which monitor AWS resources on Cloud. It comes with dozen of monitoring metrics which ease Cloud Admin to use them in monitoring their AWS Infrastructure services resources like Amazon EC2 instances, Amazon S3 Cloud Storage, Amazon RDS (Relational Database Service) on Cloud etc.

It collects monitoring and operational data in the form of logs, metrics, and events, providing you with a unified view of AWS resources, applications and services that run on AWS, and on-premises servers. Also Amazon CloudWatch can be use for preventing issues proactively on bases of alert threshold.

You can set high resolution visualize graphs for AWS resources performance monitoring metrics. With the help of Amazon SNS (Simple Notification Services) you can create a CloudWatch alarm that sends a simple notification service message when the alarm changes the state. Alarm watches every single metric over a time period and hence performs actions depending on those metric values.

Watch the below Amazon CloudWatch video for more introduction.

In this tutorial I have demonstrated how to setup dashboard for monitoring real time CPUUtilization metric of an AWS EC2 instance after this I have also demonstrated how to setup Amazon CloudWatch alarm for sending notification on email through Amazon SNS service using when Amazon EC2 same CPUUtilization metric meet the threshold.

Note: You can setup dashboard with multiple other metrics (eg. EC2 Disk Read/write Ops, Network Out etc.) as well in AWS console and also set alarm with threshold limit with Amazon SNS service.

To know more about Amazon CloudWatch and SNS services I suggest to refer the AWS document links which are available in the end of this tutorial.

To setup dashboard for monitoring real time CPU Utilization

  • In AWS Console go to services and select CloudWatch.
  • Click on Dashboard and click on Create Dashboard button located on right side.
  • Provide desire Dashboard name, click Create Dashboard.

  • Select the widget type Stacked Area and click on Configure button

  • Search and Select CPUUtilization metrics after click on Create widget button.

  • Click on Save dashboard button.

  • Under Dashboard select the provided dashboard name.
  • At right you will see CPU utilization monitoring metric graph double click on it for enlarging the graph window. You can see now the realtime monitoring of CPU Utilization.

To setup Amazon CloudWatch alarm for sending notification on email through Amazon SNS service

  • Login to AWS console, select Amazon EC2 instance and select Monitoring.
  • Click on Create Alarm button.

  • Provide desire notification recipient name and email address where you want the Amazon CloudWatch send email notification when CPU threshold meet.
  • Set the threshold percentage and provide the desire name of alarm. Click on Create Alarm button.

  • Post Alarm configuration if you are getting below message under Config Status you need to verify your email address from Amazon SNS email message which sent to you for confirmation.

  • Below is sample email message sent from Amazon SNS service asking for subscription confirmation.

  • Once you confirm the subscription from your email from Config Status pending confirmation message will be remove.

Viola! Your Amazon CloudWatch alarm is configured successfully. Whenever Amazon EC2 CPU utilization reaches mentioned threshold limit 80% Amazon CloudWatch will send an email through Amazon SNS service on your subscribed email address.

Reference Sources:
https://docs.aws.amazon.com/sns/latest/dg/welcome.html
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html

Loading

  • Author
  • Recent Posts
Charanjit Cheema
Follow him
Charanjit Cheema
Charanjit is currently working as a Cloud Architect at Mphasis, with 17 years of experience in IT infrastructure projects, implementation, and support. While his main role is as a DevOps engineer, he holds a Cloud Architect position and has strong skills in cloud technologies and automation. His expertise includes Terraform, Ansible, AWS, Azure DevOps, Azure Cloud, VMware, and Linux systems.

Charanjit is passionate about automating tasks and improving processes. He uses tools like Terraform and Azure DevOps to build and manage cloud infrastructure and streamline deployment. He also enjoys using Shell scripts and Ansible playbooks to make systems run more efficiently.

In his free time, Charanjit enjoys learning about new technologies and sharing his knowledge through his blog. When he’s not working, he likes listening to music, having a cup of coffee, and relaxing in nature.

You can connect with Charanjit on Twitter, Facebook, LinkedIn, or email him at charanjit.cheema@cjcheema.com.
Charanjit Cheema
Follow him
Latest posts by Charanjit Cheema (see all)
  • How to optimize the performance of Ansible Automation Platform or Ansible Tower - July 16, 2023
  • How to fix code and text file linting errors with the help of Visual Studio Code - June 27, 2023
  • How to migrate existing WordPress blog from AWS EC2 instance to Amazon Lightsail - May 29, 2023

Like this:

Like Loading...

Related

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tags

AWS Cloud Computing Dockers Networking Open Networking OpenSource RHEL-CentOS SDN Server Hardware SLES tcpdump Ubuntu WSL

Follow me @

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 2 other subscribers

Recent Posts

  • How to Deploy Docker Containers with NGINX on AWS EC2 Using Ansible and GitHub Actions
  • No More DynamoDB! Use Native S3 locking for Terraform State
  • How to Bring and Manage Manually Created AWS Resources Under Terraform Management
  • Iterating Cloud Resource Provisioning Using Terraform Count and For_Each Meta-Arguments
  • Terraform and Ansible Collaboration for AWS Cloud Deployment

Recent Comments

  1. Charanjit Singh on Terraform and Ansible Collaboration for AWS Cloud Deployment
  2. christinatodd2020aeaa798563 on Terraform and Ansible Collaboration for AWS Cloud Deployment
  3. Charanjit Singh on How to Set password policy in CentOS or RHEL system
  4. SAURABH on How to recover or rebuild initramfs in CentOS 7 Linux
  5. Sangita on How to Set password policy in CentOS or RHEL system

Archives

  • April 2025
  • February 2025
  • January 2025
  • August 2024
  • July 2024
  • June 2024
  • January 2024
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • September 2022
  • August 2022
  • July 2020
  • May 2020
  • February 2020
  • November 2019
  • June 2019
  • May 2019
  • March 2019
  • February 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • June 2018
  • May 2018
  • April 2018

Categories

  • Automation
  • Cloud Computing
  • Coding
  • CyberSecurity
  • Networking
  • OpenSource
  • RHEL-CentOS
  • Server Hardware
  • SLES
  • Technical Blog
  • Ubuntu
  • WSL

Blog Stats

  • 18,353 hits
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Home
  • About Me!
  • Way to my Technical Blog
  • Contact me
  • Privacy Policy
© 2025 Welcome To Charanjit Cheema Blog | Powered by Superbs Personal Blog theme
 

Loading Comments...
 

    %d