You are here: Visualware Home » Network Monitoring » VisualResponse » Support




Installing VisualResponse

    VisualResponse is installed as a simple two step process:

  • Download and install the server application (see below)
  • Add a small (180 byte) java script into the web pages to be monitored

    First, make sure that you meet the minimum requirements for your platform, including the proper Java VM. Then install VisualResponse:

    Windows: The download EXE is the install program for VisualResponse. Just run this program after downloading it.

Running VisualResponse   

Windows: Go to Start / Programs / VisualResponse and click on VisualResponse. When started you will see the following application window (see fig 2.1 below). If you are running under NT/Win2000/XP, it is possible to configure VisualResponse to run as a Service.


Fig 2.1

Once the main application window starts, there are two processes required to get VisualResponse fully operational:

  1. Enter your registered license key (Otherwise you can run as a trial for 15 days and ignore this step)
  2. Configure the IP address and port for the web user interface

Entering the license key   


Fig 3.1

After your trial of VisualResponse (15 days) expires you will need to buy a valid license key. When you first run VisualResponse after purchasing your license key you will need to enter the key to register. To enter your license key go to the Help menu and select License Key (see in fig 3.1 above).  The license key dialog box will appear (see fig 3.2 below).


Fig 3.2

Your license key will be sent to you by email. Simply cut the entire string from the email and paste it into the license key edit field. Once you have entered a valid registered license key, all references to the application running as a trial will be removed and you will now be running a fully licensed version of VisualResponse.

The next step is to enable the server so VisualResponse can be accessed via the browser. This simply requires the user to select the IP address and the port number that VisualResponse will use to communicate through.

Configure the VisualResponse Server Options   

To configure the VisualResponse server, select the Server Console from the 'File' menu. This will display the VisualResponse server configuration dialog (see fig 4.1 below).


Fig 4.1

Click the 'Preferences' button to bring up the VisualResponse Server Preferences dialog box (see fig 4.2 below).


Fig 4.2

The Server Preferences dialog allows for inquiry and maintenance of the following information:

IP - Allows you to configure VisualResponse Server to run under any/all IP address(es) on the machine, or only on the specified IP address, which is very useful if you want VisualResponse Server to coexist with IIS on the same machine (see the note at the end of this section).

Port - The port number that the server will use. The default is the standard WWW port 80. To change the port, enter in a new number and press the Enter key.

Max Users - The maximum number of users that can connect to VisualResponse concurrently. To change this setting, enter in a new number and press the Enter key.

Access Control List - By default, the VisualResponse server grants full access to anyone who can connect to the machine/port. The access control list allows you to fine-tune access based upon a list of access verbs and CIDR addresses.

The Access Control List is processed in order (top to bottom) and the first entry to match the client's IP address is the access entry that is used. If no entry in the list matches, then access is denied. The access verbs are:

deny - denies all access
full - full access to all features
super - full access, even past max users

So, for example, if you wanted to grant full access to everyone in the company, but no one else, you would delete the default 'full - 0.0.0.0/0' entry, select the 'full' verb, enter in the CIDR for your company (e.g.: 198.242.57.0/24), and press 'Add to List'.

After making any changes to the port number, etc., exit the Preferences dialog to return to the Server Console window (fig 4.3 below). You are now ready to start the web server built into VisualResponse.

Click on the 'Start' button in the Server Console window (fig 4.1). The status bar of the Server Console window should now indicate that the web server component of VisualResponse is 'Running...". Close the Server Console window (click on 'OK') and you will note that a new button has appeared at the bottom of the main server window (see fig 4.3 below).


Fig 4.3

This button provides quick access to the VisualResponse Web Interface. It will only appear when VisualResponse server is "Running...".  Note: there is a corresponding entry in the File menu (see fig 4.4 below)


Fig 4.4

Click on the 'Go to Web Interface' button or select the 'File / Web Interface..." menu option to switch to the VisualResponse browser user interface (see fig 5.1 below).

Coexisting with IIS: Want IIS to use port 80 on one IP address and VisualResponse Server to use port 80 on a different IP address, but on the same physical machine? This works, but IIS has the nasty tendency to grab up all IP addresses on a machine, even if IIS is not configured to use all IP addresses. This prevents any other application from using port 80 on a free IP address. Microsoft Tech Note Q238131 has details on how to fix IIS. Microsoft also have further instructions Q813368 for fixing IIS 6 on a Microsoft Windows Server 2003 machine. However, also make sure that you have no services set to use IP address "All Unassigned", otherwise IIS will still grab all IP addresses. Instead, make sure that you specify the IP addresses that you want IIS to use for each type of service (HTTP, FTP, etc).

User Preference Settings   

When you select the 'File / Web Interface' menu option on the VisualResponse Server Window or click on the 'Go to Web Interface' button (fig 4.4), your default browser is started and the VisualResponse home page is displayed (fig 5.1). In order to change any of the application preferences you will need to logon by clicking the line 'Login to configure VisualResponse'.  Note: The default password on first execution is the word 'hello'.


Fig 5.1

Once logged in, the VisualResponse home page is updated to reflect a number of configuration options including the Logout option which is automatically set to a 60 minute timer should you forget to logout.


Fig 5.2

Select the 'Preferences' link (second line down under 'Configuration'). The VisualResponse Preferences web page is displayed.  This page allows you to set various options that control system monitoring and reporting functions.

Transaction Response Thresholds


Fig 5.3

Response time thresholds are used to trigger alarms (emails and trace routes) when a response time exceeds the defined thresholds. Thresholds are normally set by transaction however the global values are used when individual transaction values are not specified. If you want to specify your own values, simply change the default values appropriately.

Reporting Options


Fig 5.4

The reporting options basically allow you to customize the way your data is reported and the way it is retrieved. For example you can restrict users from requesting large reports by setting a maximum page line limit. All the options are explained in detail on the page.

E-mail Notifications


Fig 5.5

If your mail server supports SMTP, you can have VisualResponse send mail to one or more e-mail addresses when critical and/or warning thresholds are exceeded.

To use this option, first supply the name or IP address of your mail server and a return mailbox. Then enter the mail address(es) of the person(s) to whom mail should be sent in the event of a threshold violation. You can send notifications of critical and warning threshold violations to a different list of recipients, if you like, or you can send all notifications to the same people. One or more persons can also be copied when a notification is sent. Be sure to separate multiple addresses with a semi-colon.

At five-minute intervals, VisualResponse records average packet loss and latency information to a database. At the time this action occurs, if you are using the e-mail option, the system will check to see whether or not a notification should be sent. It does this by comparing packet loss and latency averages for consecutive five-minute intervals against the critical and warning thresholds you have defined. You must specify the number of consecutive five minute intervals a particular type of threshold violation is permitted before a notification should be sent, as shown in fig 5.5.

You can disable mail at any time by checking 'Suspend e-mail notifications'.  Also, you may choose to suppress multiple e-mails that contain an identical message by checking 'Suppress duplicate e-mails'.

'Suppress headers' allows you to create e-mail in a more compressed format by eliminating all text other than abbreviations indicating the type of threshold violation being reported and a comma-delimited list of hosts. VisualResponse uses the following abbreviations when 'Suppress headers' is selected:

WL - for Warning Latency.
CL - for Critical Latency.

Trace Route Notifications

VisualResponse can trigger an automatic trace route to an IP address that exceeds the critical or warning latency thresholds. You can also specify a time period to restrict the number of traces/emails that can be done when multiple alarms are initiated to a single IP address or country. This avoids excessive duplication of unnecessary data if there is a problem which results in poor latency for an extended period of time.


Fig 5.6

The default suspension is by country, i.e. all bad response times to the same country within the defined time period are suspended. You may select to do this by individual IP using either the full or CIDR IP address. Depending on the Web application being monitored, this can generate a lot of emails. You can set color code thresholds for trace route latency hop latency to make the trace reports more easily readable.

VisualRoute Server

VisualResponse provides an interface to another of our network/internet monitoring tools, VisualRoute, an award-winning application which allows you to do detailed trace route analysis on remote hosts. If you have installed VisualRoute Server, this option allows you to specify the URL to that server. The dialog box (see fig 5.7 below) provides a field to enter the host name of your VisualRoute server (e.g., visualroute.yourdomain.com). This field initially defaults to the host address of Visualware's VisualRoute demo server. A blank field can be used to indicate 'not used'.


Fig 5.7

Note: Setting up the VisualRoute Server on the 'Preferences' page causes a VisualRoute link to be added in the 'Tools' column on the VisualResponse home page (see fig 5.8 below).


Fig 5.8

Once all the preferences have been set to your liking hit the 'Submit' button at the bottom of the page (Fig 5.6).  Note that if you have been longer than an hour configuring these options, the server will ask you to enter your password again

Access Control List   


Fig 6.1

The Access Control List can be edited from the Web Interface (fig 6.1) or from the VisualResponse Server Preferences dialog (fig 4.2).  To go to the Access Control List in the Web Interface just click on the ACList menu item.

Country Weight List   

In order to cater for the varying nature of network quality in different countries you can weight the threshold alarms for specific countries. This is done by selecting 'Country Weight List' in the Configuration section. This displays the Edit Country Threshold web page (see fig7.1 below).


Fig 7.1

Select the country or countries you wish to amend,  enter threshold weighting value required and then click the 'Add' button. This will add the countries and the weight values to the edit panel. Repeat this process as many times as necessary to define all the weighting values you require.  When complete, click 'Submit'.

VisualResponse Status Reports   

VisualResponse provides a number of status reports. With the exception of the World Response report, status reports update every minute to provide a real-time view of the selected data. Under the heading 'Status' on the VisualResponse Web Interface (see fig 8.1 below) you have five links: World Response, Country Status, Critical Response, Warning Response and URL Status.


Fig 8.1

World Response


Fig 8.2

Whenever a user hits one of the web pages you have set up to be monitored, VisualResponse will record the response time and location of the transaction. This is displayed on the world map as a pie chart on top of a meter bar. The pie charts indicate a number of values. The color coding displays the pie in sections of Red (critical), Yellow (warning), and Green (healthy) to indicate the percentage of  transactions to the region marked. The size of the  pie chart indicates the percentage of the transaction volume for the time window being viewed. The bar indicates the spread of transactions plus or minus one standard deviation.


Fig 8.3

The user can filter the World Map results either by selecting a variable time window and/or applying an expression (Fig 8.3).

Expression Variable Description Methods Supported
ms Milliseconds >, <, =, and, or
cc Country Code >, <, =, and, or
url URL selection (support * wild card) >, <, =, and, or
ip IP address support CIDR <,>,=, and, or
sc success code (1 or 0) >,<,=, and, or

Country Status

The Country Status report summarizes the transactions by country showing the minimum (Min), average (Avg), and maximum (Max) latency for all transactions in the group (see fig 8.4 below). The table below figure 8.4 provides detailed field descriptions.


Fig 8.4

The table below shows the data elements reported for the status report options.

Min Latency (ms) The minimum response time in milliseconds
Avg. Latency (ms) The average response time in milliseconds
Max Latency (ms) The maximum response time in milliseconds
Std Deviation (ms) The standard deviation in milliseconds
Count (Red) A count of all the transactions that have exceeded the critical threshold defined
Count (Yellow) A count of all the transactions that have exceeded the warning threshold defined
Count (Green) A count of all the transactions that have not exceeded the critical or warning threshold defined.
Total The total number of transactions from this country
IP Count The number of unique IP addresses (i.e. users)

The filter option is provided at the bottom of the Country Status report to allow a filter to be applied to the report view.

Critical Response

Critical Response shows a report of all URLs that have exceed the critical threshold.


Fig 8.5

You can also use the filter expression to tailor the filtered report. For example if you want to view all times that are greater than 40 seconds  you would type ms>40000 into the expression dialog box. Other expressions that can be used are explained in table 8.3 above.

Warning Response

This table is exactly the same as the Critical warning layout except it only shows users that have exceeded the warning response time you have set in Preferences.

URL Status

The URL Status report is similar to the Country Status report except the report is summarized by each URL being monitored by country (see fig 8.6 below).


Fig 8.6

URL Status shows the data collected in the last 5 minutes from each web page (URL) you are monitoring.  If one of your pages has not been hit in the last five minutes, then it will not show up in the table.  Note: the code 'vus-' and 'vuk-' are defined in the script syntax for the URL, this allows the full web page URL to be abbreviated for the reports.

Clicking on the URL link will display a graph (see fig 8.7 below) of the URL measures over time.


Fig 8.7

By default, host graphs display live data, allowing you to monitor latency information in real time. However, you may optionally choose to plot historical data.  Facilities are then provided to allow you to specify a time span and summary interval which VisualResponse uses to retrieve and display this information.  These facilities include:

Time Span - Indicates time span to be reported in an historical plot.  If 'Custom' is selected, this window is defined by the 'Begin' and 'End' fields.

Begin - The time span starting point. Modify by using arrow keys or right/left mouse clicks.

End - The time span ending point. Modify by using arrow keys or right/left mouse clicks.

Interval - The summarization interval used for historical data.

Plot live data - Indicates whether or not to plot live data, rather than historical data.

Fit data to plot - Causes historical data to display such that the requested time span fills the entire plot window.

OK - Requests a new plot, using the criteria described above.

On all tables of data throughout the VisualResponse Web Interface, 'hot links' are provided that allow you to view live or historic data as a graph.

History Reports   


Fig 9.1

Under the heading Reports you get the following links: Trace Report, Trace Routes, Last Hour, Last 24 Hours, Last 30 days and Custom.

Trace Report History Report 

The Trace Report lists all the traces conducted by VisualResponse when critical or warning conditions have occurred. This report displays the last hop time for the trace. Note the color coding is not the same as the warning and critical thresholds of the Status and History reports. The Trace Report is color coded based on the user preferences for Trace Reports.


Fig 9.2

Whenever a threshold is broken, VisualResponse will automatically run a trace and those traces are logged in 'Trace Report.' It tells you the exact time the trace was done and where the user was accessing the page from. The trace is done from the IP address web server to the destination IP address. If you click on one of the 'Trace Date/Time' links, the trace detail is displayed  (see fig.9.3 below).


Fig 9.3

Trace Routes History Report

The Trace Routes report shows all the hops from the web server to the destination. This reports the latency and the packet loss for each hop along with the network node name. The Trace Routes report also provides a 'previous/next' trace button to allow the user to scroll to the next trace in the log file. Alternatively a date/time stamp can be defined using the 'Show' button.

Last Hour History Report


Fig 9.4

Figure 9.4 shows the Last Hour report. This report provides country name, green, yellow and red counts, the average latency for each country and the IP count for that country summarized for the last hour. If any of the thresholds you have set have been exceeded, the report section is color coded.  If the number of thresholds is over the set % defined in the user preferences, it will highlight that section. The Hour detail report (see fig 9.5 below) summarizes the hour in 5 minute intervals.


Fig 9.5

Last 24 Hours History Report

The Last 24 Hours report is the same as the Last Hour report, but covers 24 hours and the summarization is by hour.

Last 30 Days History Report

The Last 30 Days report is the same as the Last 24 Hours report, but covers the last 30 days and the summarization is by day.

Custom History Report

The Custom History report allows the user to select the time period, the countries to report on, and the granulation for the summarization. This is done using the custom filter dialog (see fig 9.6 below).


Fig 9.6

For example, the report shown below reports latency for the United Kingdom (GB) on October 10, from 00:00:00 to 00:30:00, summarized by 5 minutes


Fig 9.7

Tools Section   

The 'Tools' selection will only appear if you have configured a VisualRoute Server in the User Preferences dialog (see fig 5.6 above).


Fig 10.1

The VisualRoute Server Option will allow you to conduct real-time trace route reports directly from a VisualResponse report where applicable. This allows the user to examine the quality of a user connection immediately when required (see fig 10.2 below).


Fig 10.2

The export data screen below (fig 10.3) allows you to export data from any country(ies) and over any time frame.


Fig 10.3

Running VisualResponse as a Windows Service   

To run VisualResponse as a Windows service, follow these steps:

    1. Install and Configure VisualResponse as described above (to verify that VisualResponse is working properly before turning VisualResponse into a service (also see note below)).

    2. In DOS, navigate to the VisualResponse install directory and then type:
    VisualResponse -install
    3. Run the Services Manager (Control Panel) and start the "VisualResponse" Service.

NOTE: VisualResponse stores configuration files in the user home directory.  When running as a Windows service VisualResponse will not find the configuration files that were defined when running under a user log-on. To configure VisualResponse when running as a Windows service it is advisable to select the "Interact with desktop" option in the Windows services control panel to the configuration can be set. Alternatively if you know which directory the Windows service will use you can copy the folder <install user home>dsc/vres to the system home location.

To remove the VisualResponse service, in DOS navigate to the VisualResponse install directory and then type:
VisualResponse -uninstall

Configure HTTP and HTTPS Web Page(s) to be monitored by VisualResponse   

Note: if you should experience any difficulty implementing the web page script changes please complete a Support Request Form. We would be more than pleased to help you in anyway that we can.

Simply adding a small piece of JavaScript to any web page will start VisualResponse monitoring that page anywhere in the world that it is sent. You have to enter the small java script (about 180 bytes, see example below) directly into the Web pages you want VisualResponse to monitor.

The script example below can be copied exactly as shown but will need two small changes made.

1. For your VisualResponse IP address (or domain name) and

2. To add a unique name for the web page.

This script is then inserted between the <html> and <head> tags in the web page. If <script> tags are already present in the page then simply insert the script (in blue lines) between the existing <script> tags.

<html>

<script>
var d=1;
var s=new Date();
function il() {
if (d) {
d=0;(new Image()).src='http://161.58.180.114/vvv?r='+((new Date()).getTime()-window.s.getTime() +'&s=1&d='+ (new Date()).getTime()+'&x=sd1');
}}

</script>

<head>

Fig 12.1

Amending the Script for Your Needs

The script above requires two small changes  for each specific Web page being monitored (marked in red below) depending on your requirements. These changes are detailed below.

Parameter Syntax Description
Destination IP/URL http://n.n.n.n:xx Destination IP address of the VisualResponse Server n.n.n.n=IP address xx= optional port
URL identifier &x=<id string> As URLs can be lengthy the ID string is used as an alias to identify the web pages in the reporting system. It also allows two pages with the same dame (e.g. index.html) on different servers to be uniquely tracked.
var d=1;
var s=new Date();
function il() {
if (d) {
d=0;(new Image()).src='http://161.58.180.114/vvv?r='+((new Date()).getTime()-window.s.getTime() +'&s=1&d='+ (new Date()).getTime()+'&x=sd1');
}}


The steps are as follows:

1. Replace the example IP address 161.58.180.114 with the IP address of where VisualResponse is installed, if VisualResponse is not using port 80 then add the port number (e.g., port 90 would be http://212.1.155.223 :90).

2. Replace the example Web page alias string &x=sd1 with the alias to identify the Web page. Example:  &x=logon.

3. After you have amended and inserted the script, you need to add the onload instruction to invoke it.  Syntax onload=il().

Where you place the onload instruction defines what is going to be measured. This can be the entire web page or a component such as a gif on the web page. If you want you can measure more than one item on the page by adding more than one onload instruction.

To measure the entire page (if you are not using frames), place the onload instruction immediately after the page <body> tag. Example:

<body topmargin="0" changes to <body onload=il() topmargin="0"

If you are using frames in the web page you need to insert the onload syntax in the frameset to measure all frames. In order to measure  a specific frame you must insert the onload syntax in the specific frame definition HTML. Example

<frameset rows="112,100%"   changes to <frameset onload=il() rows="112,100%"

or

 <frame src="feedback.htm"  changes to  <frame onload=il() src="feedback.htm"


4. Once the changes are complete, save the web page back to the web server. Monitoring will start immediately the page is hit as long as the VisualResponse application is running on the specified IP address defined in the script.

Click here for additional HTTPS support modifications.

Additional Variables

Warning and Critical thresholds can also be set within a specific Web page by using the '&c' and '&w' variables as shown in the table below.

Parameter Syntax Description
Warning Threshold &w=n n equals the warning response time threshold in milliseconds e.g. &w=20000 sets a 20 second alert threshold
Critical Threshold &c=n same as above except critical threshold. e.g. &c=40000 sets a 40 second alert threshold


As an example, this Web page has been configured to measure the response time of the page as well as the aborted time if you decide to cancel the page. In addition, the download time of a specific GIF in the page is measured. This extension just adds a few extra bytes to the script. If you click your browser's 'View' menu and select 'Source' you will be able to see the inserted code for this page.

HTTPS Implementation

Two scripts are provided with VisualResponse to support HTTPS. VisualResponse.cgi and VisualResponse.asp can be found in the VisualResponse root install directory. The CGI script is provided for Web servers that support Perl for example Apache. The ASP script is provided for Microsoft IIS environments (Active Server Pages). Note: the Microsoft ASP script requires that the IIS server supports the Microsoft XML plugin. This can be downloaded from here.

To implement HTTPS support requires two changes to the HTTP implementation

1. The IP address and URL reference in the web page JavaScript is changed to point to the about-to-be-installed HTTPS script  (step 2 below).

2. The relevant HTTPS script (found in the VisualResponse root install directory) is changed to reflect the original  IP address and URL prior to the change in step 1 from step 1(VisualResponse server IP address and URL) and copied to the directory on the HTTPS server as indicated in step 1 change.

For example the JavaScript line used in the HTTP example above (fig 12.1)

d=0;(new Image()).src='http://161.58.180.114/vvv?r='+((new Date()).getTime()-window.s.getTime() +'&s=1&d='+ (new Date()).getTime()+'&x=sd1');

is changed to

d=0;(new Image()).src='https://161.58.180.113/script-bin/VisualResponse.asp?r='+((new Date()).getTime()-window.s.getTime() +'&s=1&d='+ (new Date()).getTime()+'&x=sd1');


In the two example lines above instead of pointing to the VisualResponse URL (http://161.58.180.114/vvv......) the changed script line now points to a directory on an HTTPS server referencing the relevant script by name (https://161.58.180.113/script-bin/VisualResponse.asp....) [marked in red]

An example of the provided ASP script changed to point to the VisualResponse server is shown in the table below.

<% dim srvr dim objXmlHttp dim url dim rslt srvr="http://195.167.164.14/vvv" url=srvr&"?"&Request.QueryString&"&i="&Request.ServerVariables("REMOTE_ADDR")&"&f="&Request.ServerVariables("HTTP_REFERER") set objXmlHttp=Server.CreateObject ("Microsoft.XMLHTTP") objXmlHttp.Open "GET", url, False objXmlHttp.Send rslt=objXmlHttp.responseText Response.Write ("Content-type: text/html\n\n") %> <% dim srvr dim objXmlHttp dim url dim rslt srvr="http://195.167.164.14/vvv" url=srvr&"?"&Request.QueryString&"&i="&Request.ServerVariables("REMOTE_ADDR")&"&f="&Request.ServerVariables("HTTP_REFERER") set objXmlHttp=Server.CreateObject ("Microsoft.XMLHTTP") objXmlHttp.Open "GET", url, False objXmlHttp.Send rslt=objXmlHttp.responseText Response.Write ("Content-type: text/html\n\n") %> <%@ Language=VBScript %>
<%option explicit%>
<HTML>
<HEAD>
<meta http-equiv="Content-Language" content="en-gb">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</HEAD>
<BODY>
<%
dim srvr
dim objXmlHttp
dim url
dim rslt
srvr="http://161.58.180.114/vvv"
url=srvr&"?"&Request.QueryString&"&i="&Request.ServerVariables
("REMOTE_ADDR")&"&f=
"&Request.ServerVariables("HTTP_REFERER")
set objXmlHttp=Server.CreateObject ("Microsoft.XMLHTTP")
objXmlHttp.Open "GET", url, False
objXmlHttp.Send
rslt=objXmlHttp.responseText
Response.Write ("Content-type: text/html\n\n")
%>
</BODY>
</HTML>


Also as a live demonstration click here to review a sample report for pages like this and others for the last 60 minutes.


  Copyright © 1997-2006 Visualware Inc. · All Rights Reserved