CloudWatch - infrastructure monitoring
Start course
3h 7m

In this section of the AWS Certified: SAP on AWS Specialty learning path, we introduce you to strategies for operating and monitoring SAP workloads on AWS.

Learning Objectives

  • Understand how to use Amazon CloudWatch, AWS CloudTrail, and AWS Config to manage and monitor SAP infrastructure on AWS
  • Describe various AWS cost management tools including Cost Explorer, AWS Cost and Usage Reports, and AWS Budgets
  • Understand how to automate patch and state operations for our SAP instances using AWS Systems Manager
  • Explain how the AWS Data Provider for SAP is used to help gather performance-related data across AWS services


The AWS Certified: SAP on AWS Specialty certification has been designed for anyone who has experience managing and operating SAP workloads. Ideally you’ll also have some exposure to the design and implementation of SAP workloads on AWS, including migrating these workloads from on-premises environments. Many exam questions will require a solutions architect level of knowledge for many AWS services. All of the AWS Cloud concepts introduced in this course will be explained and reinforced from the ground up.


Hi and welcome to our seventh lecture. In this lecture, we will take a look at Cloud Watch and explore its main features. We will also work with one of the best features of Cloud Watch, the custom metrics, where we can upload any data we want and monitor it from AWS.

First, we need to go to the Cloud Watch dashboard. Here, we can see the two alarms that we created in the last lecture. The low CPU utilization alarm is sending emails to the Cloud Motors admins topic.

We don't want that, as this information is not critical for us. So let's remove this notification and adjust the alarm, because after a while, we noticed that it was removing instances too soon. In the same way, let's modify the high CPU utilization alarm, because it was also adding instances to auto scaling too soon. If you explore enough, you will notice that we could use the same alarm to trigger the increase and decrease policies that we specified in auto scaling. Let's check the metrics. Here, we can see a list of all available metrics that we can query. We can see graphics, combine graphics with multiple metrics, or set alarms for the metrics that we see here. Depending on what you have in your environment, you could have more or less metrics to view.

If we select one metric, we can see a graphic with the metrics value over the time. We can also combine the current graphic with more than one metric. That way, we could, for instance, see what happens with the instance IO when the CPU utilization is high, or how the RDS database reacts when there is too much network traffic at the instances on the auto scaling group, or how many requests are being processed by ELB during the working hours. There are many possible choices. It's up to you to combine the data and explore the possibilities. You could select the metrics that you want, build a graphic and share it. You just need to click on Copy URL and share the link.

You can select the exact time frame that you want to see on the graphic. But besides AWS services, Cloud Watch can also monitor how much you're going to pay for the current month. You can also set alarms for that. You just need to go to the North Virginia region and view the billing metrics. Here you could, for instance, create a billing alarm in case you have a defined budget for your project. Since we want to save money, let's create an alarm that will send an email to the one who's responsible for the bills. Whenever the estimated cost is more than zero, it will trigger the alarm. In other words, we don't want to pay anything. To really have billing alarms, you would need to first go on the billing and cost management console, click on preferences, and then select the receive billing alerts. I can't do this since I'm not using the route account, and my IAM user doesn't have permissions for that. Now, we are done.

For me, the best feature of Cloud Watch is the custom metrics that we can send and monitor as we do with any other metric.

I've written a simple script that's available in the GitHub repository in the scripts folder. Before running, you need to have the AWS command line interface configured on your machine. Since I have it already, I will skip that part and show you the script.

You just need to change the end point variable and allow ping on the ELS' security group to allow it to work properly. The ping will get the latency and curl will count the time that the welcome page is taking to load. I'm running this script as we speak, and it's sending data already.

Let's check the data. And here we have our custom metrics. And we can compare them on the same graphic over a time frame as we already saw. We can also export the graphic URL as any other graphic. I strongly recommend you take some time and explore everything that Cloud Watch can provide.




About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.