eG Monitoring
 

Measures reported by AzrWebAppTest

Azure App Service is a managed cloud service that allows you to deploy a web application and make it available to your customers on the Internet in a very short amount of time. Since such web applications are typically of a business-critical nature, customers insist on their continuous availability and peak performance at all times. To avoid customer complaints, cloud administrators should constantly check the availability, responsiveness, and resource utilization of every web application deployed on the Azure App Service, swiftly identify those applications that are experiencing availability, operational, or overall performance issues, and rapidly initiate measures to eliminate the bottleneck. The AzrWebAppTest helps administrators in this regard.

By continuously tracking the status of each web application deployed on the Azure App Service, this test points administrators to applications that are not running. Additionally, the test periodically checks the TCP connection to each web application, thereby alerting administrators to those applications that may be running, but are inaccessible over the network. HTTP responses sent by the application are also scrutinized, and HTTP errors promptly captured and reported, so that administrators can quickly figure out why an application is unavailable.

Also, by monitoring the responsiveness of applications to web requests, the test pinpoints applications that are responding slowly to these requests and why - is it because of a latent network connection? is it owing to a slow backend server? is it due to heavy request load on the application? or is poor application throughput the bottleneck? Furthermore, the test also measures the CPU usage of each web application, thus leading administrators to those applications that are hogging CPU and adversely impacting the performance of other web applications.

Outputs of the test : One set of results for each web application hosted by the Azure App Service.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Status Indicates the current state of this website.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Running 1
Stopped 2
Unknown 0

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current state of this website. The graph of this measure however, is represented using the numeric equivalents only - 0 to 2.

The detailed diagnosis of this measure if enabled, lists the URL that is used to hit the web app, the service plan, the web space of the web app and the tier of the web app.

site_enabled Indicates whether/not this web app is enabled.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Enabled 0
Offline 1

Note:

By default, this measure reports the Measure Values listed in the table above to indicate whether the web app is enabled or not. The graph of this measure however, is represented using the numeric equivalents only - 0 or 1.

Usage_state Indicates the current availability of management information of this web app.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Yes 1
No 0

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current availability of management information of this web app. The graph of this measure however, is represented using the numeric equivalents only - 0 or 1.

Compute_mode Indicates the compute mode of this web app.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Limited 1
Normal 0

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the compute mode of this web app. The graph of this measure however, is represented using the numeric equivalents only - 0 or 1.

Ssl_state Indicates whether/not this web app is SSL-enabled.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
True 1
False 0

Note:

By default, this measure reports the Measure Values listed in the table above to indicate whether/not this web app is SSL-enabled. The graph of this measure however, is represented using the numeric equivalents only - 0 or 1.

Cpu_time Indicates the amount of time the CPU was actually executing instructions for this web app during the last measurement period. Secs  
Requests Indicates the total number of requests to this web app during the last measurement period. Number  
Byts_rcvd Indicates the rate at which the data was received from this web app during the last measurement period. Mbps  
Byts_sent Indicates the rate at which data was sent from this web app during the last measurement period. Mbps  
Http2xx Indicates the number of times the HTTP requests were successful during the last measurement period. Number  
Http3xx Indicates the number of times the HTTP request were redirected to this web app during the last measurement period. Number  
Http4xx Indicates the total number of HTTP client errors encountered by this web app during the last measurement period. Number Ideally, the value of this measure should be zero.
Http5xx Indicates the number of HTTP server errors encountered by this web app during the last measurement period. Number Ideally, the value of this measure should be zero.
Http401 Indicates the number of HTTP 401 errors i.e., unauthorized errors encountered by this web app during the last measurement period. Number Ideally, the value of this measure should be zero.
Http403 Indicates the number of HTTP forbidden errors encountered by this web app. Number Ideally, the value of this measure should be zero.
Http404 Indicates the number of HTTP 404 errors i.e, HTTP not found errors encountered by this web app. Number Ideally, the value of this measure should be zero.
Http406 Indicates the number of HTTP 406 errors encountered by this web app during the last measurement period. Number Ideally, the value of this measure should be zero.
Mem_wrkng_set Indicates the amount of physical memory required for the working set of this web app. MB  
Avg_Mem_wrkng_set Indicates the average amount of memory required for the working set of this web app. MB  
Avg_res_tym Indicates the average time taken by this web app to respond to requests. Secs A high value for this measure indicates that the web app is taking too long to respond.
Tot_res_tym Indicates the total time taken by this web app to respond to requests. Secs A high value for this measure indicates that the web app is taking too long to respond.
Tcp_avlblty Indicates whether the test managed to establish a TCP connection to this web app. Percent Failure to establish a TCP connection may imply that either the web app is not up, or that the process is not operating correctly. In some cases of extreme overload, the failure to establish a TCP connection may be a transient condition. As the load subsides, the web app may start functioning properly again.
Tcp_con_tym Quantifies the time for establishing a TCP connection to this web app. Secs Typically, the TCP connection establishment must be very small (of the order of a few milliseconds).
Srvr_res_tym Indicates the time period between when the connection was established and when the server sent back a HTTP response header to this web app. Secs While the total response time may depend on several factors, the server response time is typically, a very good indicator of a server bottleneck (e.g., because all the available server threads or processes are in use).
Cntnt_vldty Validates whether this web app was successful in executing the request made to it. Percent A value of 100% indicates that the content returned by the test is valid. A value of 0% indicates that the content may not be valid. This capability for content validation is especially important for multi-tier web applications. For example, a user may not be able to login to the web site but the server may reply back with a valid HTML page where in the error message, say, "Invalid Login" is reported. In this case, the availability will be 100 % (since we got a valid HTML response). If the test is configured such that the content parameter should exclude the string "Invalid Login," in the above scenario content validity would have a value 0.
Res_code Indicates the response code returned by this web app. Number A value between 200 and 300 indicates a good response. A 4xx value indicates a problem with the requested content (eg., page not found). A 5xx value indicates a server error.
Cntnt_lnth Indicates the size of the content returned by this web app. KB Typically the content length returned by the server for a specific URL should be the same across time. Any change in this metric may indicate the need for further investigation on the server side.
Data_Xfr_tym Indicates the time taken for a data transfer between the drive and the host system. Secs Data transfer time being high denotes a problem.
Ssl_validity Indicates the number of days from the current day for which the SSL certificate of this web app will be valid. Number A low value for this measure implies that the SSL certificate is about to expire. You may want to renew the certificate or deploy a new SSL certificate to ensure continued accessibility of the web app.