What is MoniQA?
MoniQA is the Visiting Engine component of our monitoring service.
It is a computer program that repetitively visits your web site, collecting
performance data and generating alerts when something is wrong with the site.
What exactly does MoniQA monitor?
MoniQA visits your site as often as you want, and interacts with your
site exactly as a user or customer does. The details of this
interaction are called Monitoring Specs. These may include
content validation, data entry and selection instructions,
links or buttons to click, and timeout limits.
What kind of errors does MoniQA detect?
MoniQA detects any situation that prevents users from accessing
or interacting with the web site as specified in the Monitoring Specs.
MoniQA distinguish among these three main error categories:
1. Availability Errors: These are situations in which users are unable
to access the web site, and their web browser displays an error message
instead of the content of the desired web page content (for example:
"Cannot find server or DNS Error"). These errors are typically caused
by a DNS (Domain Name Server) error, which prevents the user's web browser
from finding you web server, or by a problem in your web server.
2. Timeouts: These are situations in which the user's web browser
does find your web site, but the requested page is not completely
delivered withing a specified "timeout" period (for example 30
seconds). Timeouts are typically caused by your web server having an
excessively slow Internet connection, or by a web server problem
which prevents it from delivering some of the required content.
An typical example of the latter is when a user submits credit card
information during a checkout, but your web server fails
to confirm the purchase because a 3rd party validation of the credit
card is delayed.
3. Content Errors: These are situations in which your web server
does not deliver the expected page or page content. Unexpected content may
include server-generated error messages, missing links, images, or other
page components, wrong page, wrong page title, etc.
See our eTailer Index and
for example of typical levels of these three error categories across
Why monitor from the user's perspective?
Even if each component and infrastructure level that make up a
complex transactional Web site operates correctly on its own, it
is possible that the performance of the overall, integrated system
will be less than optimal. The most effective way to measure the
overall performance of your website is to monitor the ability of end
users to perform the specific activities that the site supports.
If the intended user of the system is able to perform such activities,
the site has fulfilled its purpose. On the other hand, if a significant
portion of end users (or their attempts) fail, the system's performance
is inadequate. MoniQA monitors your site by exactly duplicating the
activities of end users through a standard Web browser that measures
how well the server responds. As a result, the data MoniQA collects
accurately reflects the quality of the experience of the users.
Which transactions should I monitor?
It is rarely practical to monitor all possible activities offered by
a complex Web site. We recommend that you start with the most critical
activities from the viewpoint of revenue or customer satisfaction.
To find out which transactions have the highest priority,
list the different functionalities offered by your
site, then sort them by their importance in achieving the specific
business goals of the site. Maximizing on-line revenue may not
necessarily be the highest priority, even for an on-line retail
site. The primary value of the site to your organization may be,
for example, helping customers find store locations, browse item
availability or get after-sale customer service.
The goal of the monitoring may also be technical, for example, to
evaluate the performance of a legacy/Web integration link. In such
cases you may want to get our help in setting up a monitoring
scenario that focuses on the relevant technical activity.
What is a Scenario?
A scenario is a set of specifications that determine what MoniQA
does when it visits the site. The specs can be strict and well
defined so that all visits are exactly the same, or loosely defined
resulting in different "path" through the site on each visit. A
scenario always starts from a specific URL, called Start URL.
Then, for each page, the scenario may specify various validation
rules, data entry and "click" logic, including conditional branching,
random selection, and other logic elements designed to allow MoniQA
to mimic a real user or customer. The scenario specifications are
stored in a database, and can be entered and modified in data entry
pages. Scenarios are easy to modify when the site changes, and do
not require script programming to maintain.
What is a "Scenario-Driven" visiting engine
A "visiting engine" is the component of MoniQA that conducts scheduled
visits to the monitored sites, performs the required validations, and
interacts with the site as specified in each scenario. In most of today's
monitoring tools the instructions on how to conduct each visit and what
items to validate during the visit are stored as computer code called
"script". Unlike these tools, MoniQA doesn't use scripts, but stores
visit specifications in a database instead. Since Web site monitoring
is just another software application, the same fundumental differences
between code-driven applications and data-driven applications apply.
From the practical viewpoint, the main difference is that data-driven
applications are easier to modify than code-driven, where modification
involves updating edit screens and doesn't require programming. The
reason why we call MoniQA's visiting engine "Scenario-driven" and not
"data-driven" is that we want to emphasize another important difference
between moniQA and the other monitoring tools. This difference is related
to the way you specify the details of a visit. Specifying a visit with
the other monitoring tools primarily involves recording a manual visit,
then playing back the recorded activities. This is easy enough to
accomplish, but difficult to modify or generalize. For example, if you
want to select a different product to purchase in each visit, you'll
need to modify the script code. It's even more complex to handle a
situation where some products require additional pages, for example
to specify size, style or color. In contrast, a Scenario is a much
more flexible set of specifications, with a built-in facility to handle
"looping" and "branching", and algorithms to select page components and
enter data. Thus, visits driven by the same Scenario may have different
number of pages and follow different paths through the site.
What is "Browser-based" monitoring
Most of today's Web monitoring tools are designed to monitor and
diagnose specific network devices, subsystems and protocols. MoniQA
is designed to monitor Web sites from the viewpoint of the end-users,
who access sites through a standard Web browser. In order to exectly
duplicate the experience of end-users, MoniQA also accesses Web sites
through a Web browser. This eliminates various issues related to
the access device, such as the handling of security factors (e.g.,
monitoring "https" pages) and cookies, and loading and execution of
client-based scripts. For example, MoniQA has detected many cases
where pages time out because client-based sripts are not loading or
executing as specified. Such pproblems may be related to peculiarities
in the Web browser rather than to problems with the scripts or with
the Web server. But since they affect the end-users, they are issues
that you need to be aware of and correct.
What is an "Intelligent" visiting engine
An intelligent visiting engine is able to apply intelligence similar
to that of a human user when interacting with a Web site. This involves
the ability to "understand" the options presented by the Web server,
and to respond appropriately. Perhaps it is best to consider some
examples. A simple example is a case where instead of the expected
"content", the visiting engine encounters a message such as "The site
is currently under maintenance; please try later". MoniQA lets you
specify whether you want to log this as an incident, or terminate
the visit without reporting an error. This can be extended to more
complex situations, for example the handling of inventory problems.
Again, MoniQA Scenarios can contain instructions on how to handle
various product inventory issues, and which ones to log as incidents.
Similar ideas apply to data entry. When monitoring a Web application
that requires extensive data entry, MoniQA can enter data intelligently,
for example entry of appropriate date-related information. MoniQA can
also apply algorithm-based logic to decisions on how a visit should
proceed under different circumstances, including page looping and
branching and even alerting. For example, MoniQA offers several
options on how to alert, among them the ability to start another
visit from another location, and alert only if that visit fail.
How are the Scenarios specified?
Scenarios are specified at three levels: Scenario Level, Page Level,
and Page Component Level. The variables, parameters and options of
each level are specified through data edit pages accessible in
MoniQA's Scenario Designer Face (a Web interface that requires
a Scenario Designer login permission). MoniQA's end-user Web interface,
or the Alert Recipient Face, allows modification of some of the
Scenario Level variables, such as visit interval. This Face also
allows viewing the Scenario specifications (but not modifying them).
What does MoniQA measure?
MoniQA accesses the internet through a very fast connection, and thus
measures primarily the speed and content of the response of Web servers
to requests. For each visit, MoniQA measures the time it takes to
complete the download of each page, the total time of the visit, the
error level by type of error (Availability, Timeout and Content errors),
the stage in the transaction where errors occur, and the occurrance of
continuous sequence of errors ("downtime").