What does this AWS Solution do?

This solution automates the process of setting up Amazon CloudWatch dashboards for your Apache, NGINX, and Puma workloads running on Amazon EC2. This solution uses several features of Amazon CloudWatch and speeds up the getting started experience. 

Using the solution, you can reduce the time it takes to get started with monitoring key performance metrics and logs for your web servers running on AWS. This solution provides a pre-configured dashboard so you can analyze web traffic patterns, determine whether to scale servers up or out, and detect bottlenecks and other performance problems for the workloads.                                                           

Benefits

Preconfigured Amazon CloudWatch dashboard

This solution provides a preconfigured Amazon CloudWatch dashboard for your Apache, NGINX, and Puma workloads.

Tagging mechanism for Amazon EC2 instances

This solution uses a tagging mechanism so that you can add or remove instances from your dashboard.

Amazon CloudWatch agent configuration files for reference

Use Amazon CloudWatch agent configuration files to configure your EC2 instances running
Apache, NGINX, and Puma workloads.

AWS Solution overview

The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.

CloudWatch Monitoring on AWS Solution architecture

The architecture can be broken down into two workflows: User Interaction and Dashboard Management. 

 User Interaction Workflow:

The AWS CloudFormation template deploys the Amazon CloudWatch Events rule, AWS Lambda function and AWS Systems Manager Parameter Store necessary to capture the workload instances in your account.

1. Users update the tag on their instances with the tagging schema provided as input during the stack deployment.
2. The CloudWatch Events rule invokes the tagHandler Lambda function on cron schedule. The Lambda function primarily performs two tasks:

  • It uses the ec2 describe-tags API call to get instances with the desired tag value (same as step 1). 
  • It compares the fetched instance list with the AWS Systems Manager Parameter Store instance list and updates the parameter as needed.

Dashboard Management Workflow:

The AWS CloudFormation template deploys the Amazon CloudWatch Events rule and
AWS Lambda function necessary to configure workload specific Amazon CloudWatch dashboard in your account.

3. When the AWS Systems Manager Parameter Store gets updated, the event is captured using CloudWatch Events rule to invoke the dashboardHandler Lambda function.
4. The dashboardHandler Lambda function updates the deployed dashboard
widgets with logs and metrics for the updated instance list.                                            

CloudWatch Monitoring on AWS

Version 1.1.1
Released: 09/2022
Author: AWS

Estimated deployment time: 5 min

Estimated Cost Source Code  CloudFormation template 
Use the button below to subscribe to updates for this Solutions Implementation.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Did this Solutions Implementation help you?
Provide feedback 
Build icon
Deploy an AWS Solution yourself

Browse our library of AWS Solutions to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an AWS Partner Solution

Find AWS Partners to help you get started.

Explore icon
Explore Guidance

Find prescriptive architectural diagrams, sample code, and technical content for common use cases.

Learn more