Azure Web Access (classic) Test
The details of the Azure Web Access (classic) test that emulates a user accessing Microsoft Azure cloud are provided below. Since this test can be executed from a location external to Microsoft Azure, this test presents an unbiased external perspective of the state of Microsoft Azure cloud.
This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Microsoft Azure as the Component type, Performance as the Test type, choose this test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.
Target of the Test: Microsoft Azure
Agent deploying the test: A remote agent
Output of the test: One set of results for every URL being monitored
First-level descriptor:URL available in the target Microsoft Azure
Measures reported by the test:
Indicates whether the Azure cloud was able to respond successfully to the query made by the test.
Availability failures could be caused by several factors such as the web server process(es) being down, the web server being misconfigured, a network failure, etc. Temporary unavailability may also occur if the web server is overloaded. Availability is determined based on the response code returned by the server. A response code between 200 to 300 indicates that the server is available.
Total response time:
Indicates the time taken by the cloud to respond to the requests it receives.
Response time being high denotes a problem. Poor response times may be due to the server being overloaded or misconfigured. If the URL accessed involves the generation of dynamic content by the server, backend problems (e.g., an overload at the application server or a database failure) can also result in an increase in response time.
TCP connection availability:
Indicates whether the test managed to establish a TCP connection to the cloud.
Failure to establish a TCP connection may imply that either the web server process 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 server may start functioning properly again.
TCP connect time:
Quantifies the time for establishing a TCP connection to the web server host.
Typically, the TCP connection establishment must be very small (of the order of a few milliseconds). Since TCP connection establishment is handled at the OS-level, rather than by the application, an increase in this value signifies a system-level bottleneck on the host that supports the web server.
Server response time:
Indicates the time period between when the connection was established and when the server sent back a HTTP response header to the client.
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).
Validates whether the server was successful in executing the request made to it.
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.
Indicates the response code returned by the server for the simulated request.
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.
Indicates the size of the content returned by the cloud.
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 transfer time:
Indicates the time taken for a data transfer between the drive and the host system.
Data transfer time being high denotes a problem.
Indicates whether the DNS server was able to respond successfully to the request made to it.
While the value 100 for this measure indicates that the DNS server is available and successfully responded to the request, the value 0 indicates that the DNS server is unavailable or is not responding to requests. Availability failures could be caused by many reasons such as a network failure. Sometimes, the DNS server may be reachable through basic network testing, but may not respond to DNS queries from clients.
This measure will be able to report a value only if the URL parameter of the test is configured with a domain name-based URL – eg., http://www.eginnovations.com, http://www.eBooks.com. If the URL parameter is configured with an IP-based URL instead – eg., http://192.168.10.21:80, http://192.168.10.34:7077 – then, this measure will not report any value. This is because, to report the availability of the DNS server, the test attempts to connect to the DNS server and resolve the domain name in the URL to its IP address. If the test is able to perform domain name – IP address resolution successfully, it reports the value 100 for this measure. If the resolution fails, the test reports the value 0. In case of an IP-based URL naturally, the test will not be able to find any domain name to resolve. The test therefore will not report any value for this measure in that case.
Configuring URLs for Monitoring
By default, the Azure Web Access test will be configured with the URL of the home page of the target Azure cloud being monitored. To configure additional URLs, do the following:
Click on the encircled ‘+’ button alongside the URL text box in Figure 1.
Another URL specification section will appear. Specify the following in that section:
- Name: Specify a unique name by which the URL you will be specifying shortly will be referred to across the eG user interface. This is the name that will appear as the descriptor of this test.
- URL: Enter the URL of the web page that this test should access.
Username and Password: These parameters are to be set only if a specific user name / password has to be specified to login to the web page (i.e., URL ) that you have configured for monitoring. In this case, provide valid login credentials using the Username and Password text boxes. If the web server on which Azure Web Access test executes supports ‘Anonymous user access’, then these parameters will take either of the following values:
- A valid Username and Password for the configured URL
- none in both the Username and Password text boxes of the configured URL, if no user authorization is required
- Some web servers however, support NTLM (Integrated Windows) authentication, where valid login credentials are mandatory. In other words, a none specification will not be supported by such web servers. Therefore, in this case, against each configured URL, you will have to provide a valid Username in the format:domainname\username, followed by a valid Password.
- Please be sure to check if your web site requires HTTP authentication while configuring this parameter. HTTP authentication typically involves a separate pop-up window when you try to access the page. Many sites use HTTP POST for obtaining the user name and password and validating the user login. In such cases, the username and password have to be provided as part of the POST information.
- Content: The Content parameter has to be configured with an instruction:value pair that will be used to validate the content being returned by the test. If the Content value is None, no validation is performed. On the other hand, if you pick the Include option from the Content list, it indicates to the test that for the content returned by the web server to be valid, the content must include the specified value (a simple string search is done in this case). This value should be specified in the adjacent text box. Similarly, if the Exclude option is chosen from the Content drop-down, it indicates to the test that the server’s output is valid if it does not contain the value specified in the adjacent text box. The Include or Exclude value you specify in the text box can include wildcard characters. For example, an Include instruction can be *Home page*.
- Encoding: Sometimes the eG agent has to parse the URL content with specific encoding other than the default (ISO-8859-1) encoding. In such a case, specify the type of encoding using which the eG agent can parse the URL content in the Encoding text box. By default, this value is none.
- Private Key File Path and Password: SSL-enabled web sites are typically secured by a private key, public key, or a public-private key pair. If the web page configured for this test is SSL-enabled – i.e., if an HTTPS URL is specified against URL – and the contents of this web page can only be accessed using a private key, then the full path to the private key file will have to be provided against Private key file path and the password of the private key file should be specified against Password. If no such private key protects the contents of the configured URL, then set the Private key file path and its Password to none.
- Similarly, you can add multiple URL specifications. To remove a URL specification, click on the encircled ‘-‘ button corresponding to it. To clear all URL specifications, click the Clear button in Figure 2. To update all the changes you made, click the Update button.
- Once Update is clicked, you will return to the test configuration page. The URL text box in the test configuration page will display just the Names – i.e., the unique display names – that you may have configured for the multiple URLs, as a comma-separated list. To view the complete URL specification, click the encircled ‘’+’ button alongside the URL text box, once again.