Lab 7 - AWS Metrics with advanced query
Monitoring your load balancer in AWS is key to overall performance. In this lab, we will be querying the AWS ALB metrics that have already been ingested via CloudWatch. We will also take advantage of Sumo's Apps to get immediate visibility into our AWS environment. Once we are observing the Apps dashboards, we can adjust filters to display desired data as well as open a specific panel's query.
NOTE: We will be using Advanced Mode, which is shown in Lab 6
-
Since our AWS ALB metrics have already been ingested, we can go ahead and run a simple metrics query using
_sourceCategory="Labs/AWS/ALB/Metrics"
-
Click on the Legend tab to view all the metrics and their dimensions
For information about AWS metrics, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html -
To count server errors, edit your query to choose the HTTPCode_ELB_5XX_Count metric:
_sourceCategory="Labs/AWS/ALB/Metrics" metric=HTTPCode_ELB_5XX_Count
-
To compare today's Average count of server errors to yesterday's average, try the following:
_sourceCategory="Labs/AWS/ALB/Metrics" metric=HTTPCode_ELB_5XX_Count | avg
_sourceCategory="Labs/AWS/ALB/Metrics" metric=HTTPCode_ELB_5XX_Count | avg | timeshift 1d
Remember each metric query line must be set to Advanced Mode, otherwise you will not able to type or copy/paste these examples in.
-
Now let's take advantage of Sumo's out-of-the-box Apps to analyze our AWS Elastic Load Balancing (ALB) metrics. Follow these instructions:
-
In the App Catalog, search for the AWS Elastic Load Balancing Metrics app and select it..
-
To install the app, click Add to Library and complete the following fields:
- App Name. Retain the existing name, adding your name to the App name to differentiate it from other users
- Data Source. Select either of these options for the data source.
- Choose Source Category, and select Labs/AWS/ALB/Metrics
- Advanced. Select the Location in Library (the default is the Personal folder in the library), or click New Folder to add a new folder.
Click Add to Library.
Once an app is installed, it will appear in your Personal folder, or another folder that you specified. From here, you can share it with others in your organization.
Panels will start to fill automatically. It's important to note that each panel slowly fills with data matching the time range query and received since the panel was created. Results won't immediately be available, but with a bit of time, you'll see full graphs and maps.
-
Review all installed Dashboards to get a sense of the out-of-the-box content.
-
Open the AWS Elastic Load Balancing Metrics - ALB - Overview dashboard. We will use this dashboard to demonstrate the effect of dashboard filters.
Dashboard filters are a powerful tool to modify the data that goes into a dashboard panel. These filters support wildcards as well, so you can use those to your advantage here. This screenshot shows the dashboard, with no filters in effect. It shows both the various metric series for both Availability Zones.
-
Click the blue funnel icon at the top of the screen - this is the dashboard filters button. A small menu will open at the top, beneath the dashboard name but above the panels.
-
Find the “availabilityzone” filter and choose one of the two values - us-west-1a or us-west-1b. Type this into the filter (or select it from the dropdown) and then press Enter.
You should see the dashboard panels refresh and render themselves with only one Availability Zone showing on the panels, whichever one you selected. If you enter us-west* then you can show both AZs and this demonstrates the effectiveness of the wildcard in dashboard filters.
-
Now open the AWS Elastic Load Balancing Metrics - ALB - Latency And Requests dashboard.
In this Dashboard, drill into the Average RequestCount per Load Balancer Panel (Top-left) to view the metrics query behind it.
The screenshot of the metrics query above shows that there are wildcards in place. While it is true that the query would return the same results with or without those wildcards, they are included in this query because they are the underlying query logic that power the dashboard filters. If you enter a filter value and then drill down, you’ll see that the wildcard has changed to a specific value.