Cloudwatch Resource Health Monitoring For EC2 Hosts
Tags: aws, cloud, monitoring, performance
Published: 2021-11-28 07:47:14

If you have been involved in IT infrastructure monitoring, you know how difficult it can be to determine the server utilization of hundreds of servers. It becomes even more challenging if you are trying to troubleshoot an issue.  Hence why tools like AppDynamics, New Relics, and others have been successful. 

These tools can visualize your whole infrastructure and help highlight oversubscribed services based on CPU, memory, disk, and network utilization.   A feature that AWS application monitoring service has lacked until recently.

Previously, you could only view your EC2 host utilization in a list view (As shown below). However, with the resource health managed service, you can view EC2 hosts in a heatmap and get further information about a specific EC2 host. A welcome addition to the application monitoring capability provided by AWS of its infrastructure.  

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5ttfzc9xr7jjgfaq4g5.png)
 
Resource Health is a fully managed solution to identify, manage, and visualize the health and performance of Amazon Elastic Compute Cloud (Amazon EC2).  It gives you a centralized view of your EC2 hosts based on performance metrics like CPU and memory usage.  You can use filters like instance type, instance status, and security groups to slice and dice hosts.  It allows for a side-by-side comparison of a group of EC2 hosts, as well as granular insight into a single host.

Here's an example of a visual representation of EC2 hosts based on CPU use. By using various colors, you may simply identify which EC2 hosts are fully utilized and which are not. Also, as far as I know, if you have EC2 hosts represented by a white color they are more likely to be in a stopped status.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vl6k92p4lpphtfrrnirk.png)

Here are examples of EC2 host resource health view based on memory utilization and status check.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oh7pozfunacgp8oezc0t.png)
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ejrnfvuduqt959sed3w.png)
 
You can personalize Resource Health views by defining thresholds and color schemes to help you identify your EC2 hosts.  You can choose a metric for your hosts, such as CPU utilization, Memory utilization, and Status checks. The view customization can be done through setting icon in the menu bar (as shown below). 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/37l7oq4b4qi9pi2v9geb.png)

Resource Health allows you to visualize EC2 server health based on its capabilities. This is a handy feature if you just want to see EC2 hosts in a given availability zone, VPC, instance type, instance state, and so forth. Here is an example of EC2 host health grouped by availability zone.   

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7tr8ljzhdy48xp1he6y.png)
 
Resource Health enables the visualization of EC2 hosts based on filters such as tags and properties such as Auto Scaling group, Availability Zone, CPU utilization, EBS volume, instance type, instance lifecycle, load balancer, memory utilization, security group, instance state, status check, and VPC. Here's an example of an EC2 host based on the EBS volume filter.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvvezp3lltga8d7t6q8m.png)

The resource health view also gives you the capability to easily drill down on a single resource. For example, in the image below, one of the EC2 hosts was shown to be in red status. By clicking on it, you can see that the CPU utilization of that host is 90%. To further drill down on that host, you click on the "view dashboard link," which gives you more details about the host. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jmczgb3v866v1uzvblk.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ieeznyk5ro6szls1c020.png)
  

My final thought is that this is a welcome addition to the AWS ecosystem's application monitoring capability and simplifies resolving EC2 host-related issues. I have a feeling that AWS is quietly but steadily entering the application monitoring sector, which been dominated by products such as AppDynamic, New Relic, DataDog, DynaTrace, and others.
 
------------------------------------------------------------------

Thanks for reading!

If you enjoyed this article feel free to share on social media 🙂

Say Hello on: [Linkedin](https://www.linkedin.com/in/harinderseera/) | [Twitter](https://twitter.com/harinderseera) | [Polywork](https://www.polywork.com/harinderseera) 

Blogging: [Dev](https://dev.to/harinderseera) | [Hashnode](https://harinderseera.hashnode.dev/)