Azure Application Gateways Test

Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. The Azure Application Gateways test tracks the network traffic flowing through the Azure Application Gateways and reports the count of requests/responses that were sent/received by those Application Gateways. This test also helps to monitor the poor responses that may arise due to overloaded web-traffic. The statistics reported by this test thus serves as a good measure indicating the efficiency of the Application Gateways.

Target of the test : Microsoft Azure Application Gateway

Agent deploying the test : An external agent

Outputs of the test : One set of results for each Resource Group:Application gateway in the target Microsoft Application Gateway.

Configurable parameters for the test

Parameters Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Subscription ID

Specify the GUID which uniquely identifies the Microsoft Azure Subscription to be monitored. To know the ID that maps to the target subscription, do the following:

  1. Login to the Microsoft Azure Portal.

  2. When the portal opens, click on the Subscriptions option (as indicated by Figure 1).

    Figure 1 : Clicking on the Subscriptions option

  3. Figure 2 that appears next will list all the subscriptions that have been configured for the target Azure AD tenant. Locate the subscription that is being monitored in the list, and check the value displayed for that subscription in the Subscription ID column.

    Figure 2 : Determining the Subscription ID

  4. Copy the Subscription ID in Figure 2 to the text box corresponding to the SUBSCRIPTION ID parameter in the test configuration page.

Tenant ID

Specify the Directory ID of the Azure AD tenant to which the target subscription belongs. To know how to determine the Directory ID, refer to Configuring the eG Agent to Monitor Microsoft Azure Application Gateway Using Azure ARM REST API

Client ID, Client Password, and Confirm Password

To connect to the target subscription, the eG agent requires an Access token in the form of an Application ID and the client secret value. For this purpose, you should register a new application with the Azure AD tenant. To know how to create such an application and determine its Application ID and client secret, refer to Configuring the eG Agent to Monitor Microsoft Azure Application Gateway Using Azure ARM REST API. Specify the Application ID of the created Application in the Client ID text box and the client secret value in the Client Password text box. Confirm the Client Password by retyping it in the Confirm Password text box.

Proxy Host

In some environments, all communication with the Azure cloud could be routed through a proxy server. In such environments, you should make sure that the eG agent connects to the cloud via the proxy server and collects metrics. To enable metrics collection via a proxy, specify the IP address of the proxy server and the port at which the server listens against the Proxy Host and Proxy Port parameters. By default, these parameters are set to none, indicating that the eG agent is not configured to communicate via a proxy, by default.

Proxy Username, Proxy Password and Confirm Password

If the proxy server requires authentication, then, specify a valid proxy user name and password in the Proxy Username and Proxy Password parameters, respectively. Then, confirm the password by retyping it in the Confirm Password text box.

Resource Group

A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Specify the name of the particular Resource Group which is a part of the Application Gateway to be managed in the Resource Group text box.

Application Gateway

Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. Specify the name of such Azure Application Gateway in the Application Gateway text box.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Status

Indicates the operational status of this Application gateway.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value

Numeric Value
Stopped 0
Started 1
Running 2
Stopping 3

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the operational status of the Application gateway.

The detailed diagnosis of this measure reveals further details of the Application Gateway such as name of the Application gateway, Public IP Address, Private IP Address, Location and Tags.

Average response time

Indicates the average time taken by this Application gateway to respond to the requests it receives.

Seconds

Response time being high denotes a problem. Poor response time may be due to overloaded web-traffic.

Backend connect time

Indicates the time spent by this gateway establishing a connection with the backend application.

Seconds

This measure includes the network latency as well as the time taken by the backend server’s Transmission Control Protocol (TCP) stack to establish new connections. For Transport Layer Security (TLS), it also includes the time spent on handshake.

Backend first byte response time

Indicates the time interval between start of establishing a connection to backend server and receiving the first byte of the response header.

Seconds

This measure indicates the approximate sum of Backend connect time, time taken by the request to reach the backend from Application gateway, time taken by backend application to respond (the time the server took to generate content, potentially fetch database queries), and the time taken by first byte of the response to reach the Application gateway from the backend.

Backend last byte response time

Indicates the time interval between start of establishing a connection to backend server and receiving the last byte of the response body.

Seconds

This measure indicates the approximate sum of Backend first byte response time and data transfer time (this number may vary greatly depending on the size of objects requested and the latency of the server network).

Backend response status codes

Indicates the number of HTTP response status codes returned by the backends.

Number

This measure does not include any response codes generated by the Application gateway. The response status code distribution can be further categorized to show responses in 2xx, 3xx, 4xx, and 5xx categories.

Data received

Indicates the amount of data that was received by this Application gateway.

MB

 

Data sent

Indicates the amount of data that was sent from this Application gateway.

MB

 

Total data transferred

Indicates the amount of data received/sent from/to this Application gateway.

MB

 

Client RTT

Indicates the round trip latency between the client and this Application gateway.

Seconds

A high value is indicative of a connection bottleneck.

This measure can be used to determine whether the observed slowdown is due to the client network, Application gateway performance, the backend network and backend server TCP stack saturation, backend application performance or large file size.

Client TLS protocols

Indicates the number of TLS and non -TLS requests initiated by the client that established connection with this Application gateway.

Number

This measure include requests served by the Application gateway, such as redirects.

Capacity units consumed

Indicates the number of capacity units consumed to load balance the traffic.

Number

There are three determinants to capacity unit - compute unit, persistent connections and throughput. Each capacity unit is composed of at most: 1 compute unit, or 2500 persistent connections, or 2.22-Mbps throughput.

Compute units consumed

Indicates the number of processor capacity consumed by this Application gateway.

Number

Factors affecting compute unit are TLS connections/sec, URL Rewrite computations and WAF rule processing.

Established connections

Indicates the number of current connections established with this Application gateway.

Number

A significant increase in this metric may indicate a slow down in request handling by the Application gateway.

Estimated billed capacity units

Indicates the number of capacity units using which the billing gets estimated.

Number

This measure is calculated as the greater value between Capacity units consumed (capacity units required to load balance the traffic) and Fixed billable capacity units (minimum capacity units kept provisioned).

Failed requests count

Indicates the number of requests that this application has served with 5xx server error codes.

Number

This measure includes the 5xx codes that are generated from the Application gateway as well as the 5xx codes that are generated from the backend.

Fixed billable capacity units

Indicates the minimum number of capacity units in this Application gateway configuration.

Number

 

Healthy hosts count

Indicates the number of healthy hosts in a specific backend pool.

Number

 

New connections rate

Indicates new TCP connections established per second from clients to this Application gateway.

Connections/sec

 

Average requests rate for healthy backend host

Indicates the requests received per minute by each healthy member in a backend pool.

Requests/min

 

Http response status

Indicates the number of HTTP response status returned by this Application gateway.

Number

The response status code distribution can be further categorized to show responses in 2xx, 3xx, 4xx, and 5xx categories.

Throughput

Indicates the rate of data at which this Application gateway has served.

KB/sec

This measure is used to identify congestion in Azure Application Gateway, if any.

Total requests count

Indicates the number of successful requests that this Application gateway has served.

Number

The request count can be further filtered to show count per each/specific backend Pool-HTTP setting combination.

Unhealthy hosts count

Indicates the number of unhealthy hosts in a specific backend pool.

Number

Ideally, the value of this measure should be low.

Failed requests

Indicates the percentage of failed requests that this Application gateway has served with 5xx server error codes.

Percent

This measure includes the 5xx codes that are generated from the Application gateway as well as the 5xx codes that are generated from the backend.

A high value is a cause of concern. Administrators must analyze why the requests are failing frequently and initiate troubleshooting measures at the earliest.

Use the detailed diagnosis of this measure to know the Resource ID, Resource group, Resource provider, Resource, Resource type, HTTP status code, HTTP method, Client port, Client IP, Host, Original request URI with arguments and Timestamp.

Backend settings

Indicates the number of Backend settings for this Application gateway.

Number

Use the detailed diagnosis of this measure to know the name of the Backend settings, Port, Protocol and Cookie based affinity.

Frontend IP configurations

Indicates the number of Frontend IP configurations in this Application gateway.

Number

The IP address of the Azure Application Gateway is the point of contact for clients. These IP addresses can be either public IP Address or private IP Address.

The detailed diagnosis of this measure reveals further information on the Frontend IP connected to the gateway that includes the name of the Frontend IP, type of the Frontend IP, Status and IP address.

Listeners

Indicates the number of listeners in this Application gateway.

Number

The listener is a separate process that runs on the Application gateway. It receives incoming client connection requests and manages the traffic of these requests to the Application gateway.

Use the detailed diagnosis of this measure to know the name of the Listener, Port, Protocol and name of the Frontend IP.

Rules

Indicates the number of rules set for this Application gateway.

Number

Use the detailed diagnosis of this measure to know the name of the Rule, Type, Listener, Priority, Backend target type, name of the Backend target pool, name of Backend settings, Redirection type, Redirection target, Target listener, Include query string, Include path and Target URL.

Total backend hosts

Indicates the total number of backend hosts.

Number

 

Unhealthy backend hosts

Indicates the percentage of unhealthy hosts in a specific backend pool.

Percent

Ideally, the value of this measure should be low.

Use the detailed diagnosis of this measure to know the Backend Server, Backend Pool, Status and Details of the unhealthy backend hosts.