WatchMouse Weekly #11: Know your weakness?

Posted by simone on May 13th, 2011

WatchMouse is mainly known for it’s great monitoring service, the quality of it’s checkpoint grid and it’s accurate testing methodology; no question about that. Though, WatchMouse bundles a few more services together with it’s main product, that are sometimes well hidden. One of these services is the Vulnerability Scanner and this is what I’d like to introduce with this blog post.

Most probably, your online business infrastructure includes a few web servers, maybe some ssh and ftp servers, definitely some web applications, web services and who knows what else! All of these services are usually well-guarded gateways to your business. On the other hand, they are just applications written by humans and, most probably, not bug free. Some of their bugs can cause vulnerabilities that hackers may discover and try to exploit with unknown consequences. I guess you are already aware of all this; your business is probably protected by firewalls and intrusion detection systems; you are also likely to have launched a few security tests and your sure you’re fine! Sure..but for how long?

If you take a look at this page you will see that vulnerabilities are discovered every day. You should be monitoring the security of your online business quite often if you really want to feel safe.

WatchMouse Vulnerability Scanning offers exactly that; we make sure we track all known vulnerabilities and we provide tests for each one. We do this by keeping a large database of vulnerabilities and we update it every day; then for each known vulnerability we install a scan module that can detect the new vulnerability and we silently introduce it into the next run of your scan-monitor. Take a look at this page for a list of all scan modules WatchMouse Vulnerability Scanner includes. You could think of our scanner as a hacker emulator.

Setting up a vulnerability scan monitor is quite easy. If you have a WatchMouse account and haven’t tried the Vulnerability Scanner yet, you can activate a trial here. Ten Scan Credits will be added to your existing account, allowing up to 10 standard scans.

If you don’t have a WatchMouse account yet, go ahead and take a 30 day trial which enables you to try all features offered by the WatchMouse website monitoring services.

Next you need to create a scan monitor; you can do that on the Vulnerability Scan Settings page. Click on the “Add scan” button at the bottom of the page and a simple form should appear. When setting up or editing a vulnerability scan, you can choose the type of scan to be performed (see field “Scan type”). Also, don’t forget to click on the little question marks next to each form element as they will provide some useful tips!
The available scan types are:

  • Standard (available in 30 day trial)
  • Intrusive
  • Intrusive with Denial of Service attacks
  • Standard – WEB (available in 30 day trial)
  • Intrusive – WEB
  • Intrusive with Denial of Service attacks – WEB

The scan types with the “WEB” suffix will scan only the web-server and web applications on your server for XSS and SQL Injection vulnerabilities.

Each scan type consumes a different amount of scan credits with “standard” needing only 1 scan credit. The check interval of your scan monitor can be set to once per week and up to once per day. If, for example, you scan a server once per week (say every Sunday) with a standard scan, then you would need about 4 credits per month. With the current credit prices, you can scan your server on a weekly basis for less than 15 US Dollars per month!

You can always obtain more Vulnerability Scan Credits on this page.

Finally, don’t forget to add an alert contact! That will be used to send alerts when new vulnerabilities are discovered!

After you save your scan monitor, you need to confirm it before you can really use it. This is a security procedure that ensures that no one other than you can test your servers using the WatchMouse Vulnerability Scanner. It requires you to add a confirmation ticket in a file and place that file in your root folder of your web server. For larger companies or for individuals that need to scan a large amount of servers, WatchMouse can pre-activate a fixed number of IP addresses if you provide us with papers that certify the ownership.
Right after you activate your monitor, you will be able to either launch scans directly through the console or wait until the scan scheduler picks it up. After the first run, you will get alerted (via the alert contact you’ve setup earlier) if the scanner detects any important issues. We classify the issues as “informational”, “warnings” or “holes” with the later two considered as important.

Finally, the reporting console provides all the tools you would need to learn and  manage all discovered issues. A live demo of this console can be seen here. So what are you waiting for? Go ahead a give it a try.

Written by Dimitris Balaouras

‘WatchMouse Weekly’ tweets and corresponding blog posts aims to be an introduction with tips and tricks for getting the most out of your WatchMouse monitoring. For all ‘WatchMouse Weekly’ blog posts go here.

WatchMouse Weekly #10: A Custom Report not for your eyes only

Posted by simone on May 3rd, 2011

Custom Reports offer a great way of sending relevant performance monitoring data to the right contact.

Do your WebMasters need a daily report of confirmed errors? Perhaps a monthly Management report, containing your availability and performance data, would allow your team to spot trends and check SLA compliance? Whatever performance monitoring information your organisation requires, you’ll be able to create a Custom Report to meet it.

To get started, sign-in to your WatchMouse account. Enter your “Reports” dashboard and then the “Custom Reports” tab. For this area you can:

  • Click the “add” button to create a new report. The options are numerous! At a minimum you need to provide a title, select a graph, select which monitors and click “save”. By clicking the ‘add’ button, you can insert as many graphs as you like into a single report.
  • Modify an existing report by clicking on the name of the report
  • Add or change recipients and the reporting frequency. To do this, click the grey triangle and select from your dropdown list the individual/s or group/s that you would like the report to go to. Select the reporting frequency and “save”. (For instruction on how to add or modify your contacts see the inaugural WatchMouse Weekly post)
  • The “Actions” menu on the right hand side additionally allows you to: edit, rename, deactivate, delete or preview a report.

Custom Reports are sent as PDF files and the email body contain a summery of all monitors that are included in the report.

All WatchMouse subscriptions include Custom Reports. To check how many Custom Report are included in your current subscription, enter your “Account” Dashboard. Details are found within the “Subscription” tab. From here you can also click the blue “change” link to purchase additional reports.

Custom Reports make it possible to automatically send appropriate performance information to the right contact/s. If you have any questions about this feature please contact us via the HelpDesk from your WatchMouse console.

Written by Simone Maier

‘WatchMouse Weekly’ tweets and corresponding blog posts aims to be an introduction with tips and tricks for getting the most out of your WatchMouse monitoring. For all ‘WatchMouse Weekly’ blog posts go here.

WatchMouse Weekly #7: Creating and Uploading a script in WatchMouse

Posted by admin on April 6th, 2011

Along with the big list of protocols you can monitor using the WatchMouse service and its global infrastructure, you can also execute “transaction application” tests or as they are more commonly referred to, “functional” tests.

Before going through the steps on how to create and upload such a script to your WatchMouse account, lets briefly see what transaction application testing actually is.

Transaction Application Testing

On top of testing the availability and the performance of a website or web application (non-functional testing), you can also test the individual components of it such as, a login procedure, the results of a search in a form, an article submission and so on.

Transaction application testing differs from non-functional system testing in that, with transaction application testing you have to specify and test the functions that the web service is expected to perform.

Creating a transaction testing script

WatchMouse uses the JMeter scripting engine to run transaction application tests.  A JMeter script is like a browser which executes steps that test the functionality of a web application. Note however, that JMeter does not support all the actions supported by browsers, for example it doesn’t execute JavaScript functions.

To create a valid JMeter script we strongly suggest to use the Badboy windows application, which can be downloaded here, with Badboy you can easily:

  • Record the actions you want your script to perform, in a browser environment
  • Replay the actions you recorded to validate the script functionality
  • Export the script to .jmx format, so you can open it with the JMeter application or
  • Upload the script directly from Badboy to your WatchMouse account

Exporting your Badboy script to JMeter correctly might require some customization, due to a few differences between Badboy and JMeter execution:

  • JMeter doesn’t execute JavaScript, so in order to simulate JavaScript functionality you might need to pass values (for example a session ID) from one call to the other, manually. You can do this by saving a specific value, after an HTTP request, in a variable and use this variable in subsequent HTTP requests.
  • Badboy executes its actions in a linear fashion while JMeter needs to define a scope for every action (element). So for example, if you add an assertion element, to match a text which appears after a login procedure (i.e. the text “log out”), in JMeter you should add that element as a child of the login HTTP request rather than putting it after the request in the list of calls.
  • Unlike Badboy, JMeter doesn’t download the embedded elements and assets of a web page (images, css and JavaScript included files etc.). It only tests the functionality of it. You can enable downloading of embedded elements by choosing the corresponding setting in the JMeter application.

Uploading your scripts to WatchMouse

To upload the script to your WatchMouse account you have to:

  • Create a new monitor
  • Choose “script” in the “type” dropbox
  • Upload the script, using the upload form
  • Save your monitor

The WatchMouse engine will check the validity of your script and then create the new monitor.

NOTE: Due to the number of calls a script monitor performs, WatchMouse has a default timeout of 20 seconds for these type of monitors. You can adjust the timeout, according to your script, in the monitor “expert mode” settings.

Getting Help from us

You can find a set of example scripts we have created for reference, which test different kinds of applications (SOAP, OAuth, HTTP authentication) here: WatchMouse JMeter repository

We are also happy to help to construct the scripts. Just send the script to helpdesk AT watchmouse.com along with a small description of the difficulties you are facing and we will fix the script for you.

We hope this post will help you understand, as we do in WatchMouse, the importance of transaction monitor testing and also the fun of creating such tests for you websites and web applications.

Post by Nikos Prodromidis: I am a QA Tester and Junior Developer at WatchMouse. I joined the team in June 2009. I find the process of making and understanding functional tests for web applications (i.e. scripting) very interesting and innovative, also I like learning and implementing new technologies.

‘WatchMouse Weekly’ tweets and corresponding blog posts aims to be an introduction with tips and tricks for getting the most out of your WatchMouse monitoring. For all ‘WatchMouse Weekly’ blog posts go here.

WatchMouse Weekly #6: Navigating the Monitoring Log

Posted by mark on March 29th, 2011

The WatchMouse Log Files page

WatchMouse offers, next to graphs and PDF reports, a check by check breakdown performed to your website or server. We call this page “Log Files” and you can find it under the “Monitoring” console. As the name implies, this page is a log of all the checks performed by WatchMouse along with details of the result of each check. Lets take a look at some of the functionality that this page offers:

At the topmost part of the page, you can select the number of checks to show, the type of check (checks or probes with errors etc.), of any or all of your monitors, or of monitors inside a folder. Clicking “show” will fetch your selection results.

Log settings

The result should look something like this (a list of checks with navigation options):

Log records

The first row contains controls to navigate to previous checks and a date selector if you want select a specific date.

Lets take a look at a “browser” check to the CNN homepage:

Log record

The above row is separated by columns. First column is the date and time the check was made. Next is the user-defined name of the monitor and next to that a short description of the result of the check, in this case an “OK” message is shown since the check was successful. The small icon next to the description will show you a detailed report of the check. The last two columns are an error code (zero in the above case since no error was observed) and the location from which the check was made.

Tip #1: Hovering over the rows with your mouse shows a quick preview of the detailed metrics for the specific check.

Here are two screenshots of the report you can get when clicking on the detail report icon:

Detail view

waterfall chart

Tip #2: Reports like the one above can be shared with colleagues. Just find the permlink at the bottom of the report.

Tip #3: You can easily close reports such as this and return to navigating through your logs without reloading the “Log Files” page.

In case a check observes an error, this will be represented with a colored row in the “Log Files” page like so:

error record

The description column should contain a short explanation of what went wrong. Next to the error description you will see a small envelop icon signifying that an alert was send to inform you of the error. The icon next to that is what we call a “Root Cause Analysis” icon. Clicking this icon, a detailed report of the error will be shown along with extra checks (traceroute, dns, web snapshots) performed at the time of the check as part of the “Post mortem” service that WatchMouse provides. The Root-cause analysis aims to give you a more complete picture of the state of the target (website, server or service) at the time of the error. Such information has been proven valuable in forensic examinations.

Tip #4: Root Cause Analysis records can easily be found by selecting it from the “Display” drop down menu.

Please feel free to contact us with any questions you might have.

Post by Stratos Goudelis: I am a senior developer at WatchMouse. I joined the team in 2007 and have been enjoying coding in php and python.

WatchMouse Weekly #4: Monitor from a selected number of locations. Why and how?

Posted by mark on March 15th, 2011

When setting up a new monitor, we monitor by default from all stations that support the selected protocol or monitor type. In most cases that means your site or server is monitored from all our, currently, 56 stations.

Depending on your situation and requirements, this default might be desired, but maybe it is not. Deciding how to pick your monitoring locations is pretty straightforward:

  • If you have a global audience we recommend to use the default setting. In that case a random monitoring station is selected for each individual check.
  • If you have a global audience and would like to monitor evenly from all locations you will have to change the scheduling algorithm to “sequential”, see below how to do that.
  • If you have an audience in multiple countries, but not all, simply make a custom selection of the stations in the countries you are interested in.
  • If your visitors come from a single county, simply pick a station from that country, and change the scheduling algorithm to “master”.

So that was no rocket science right? Next: how to actually set that up.

First of all the default setting. Here you specify the setting for all new monitors you create. Simply go to the Account preferences and find the “checkpoint selection”. Select all the stations you want to be used in your monitoring pool. Note that a minimum of three stations is required. The reason is that for some monitoring errors (like time-out’s) we perform a second opinion check from another location than the one that reported an error to prevent false alerts.

Existing monitors will not be affected by the changes you made in the account preferences.

To change individual monitors, go to the Monitor settings and click on a monitor (or create a new one). The “Checkpoint order algorithm” and the “Checkpoint selection” settings can be found in the “Expert mode”.

The “Checkpoint order algorithm” determines how the monitoring scheduler operates. The following settings are possible:

  • Random: a random checkpoint is chosen each time this monitor is checked. This is the default.
  • Master: the first check is always done from the checkpoint specified by you. If an error occurs, the second-opinion check is performed from a random (other) checkpoint.
  • Sequential: all checkpoints are used in a fixed order (round robin)
  • Sticky: same as random, but when a checkpoint detects an error, the monitor will be checked only from that location until the error disappears.

Selecting a specific set of stations is done at the “Checkpoint selection”. Simply check the check-box and you’ll find the same view as in the account preferences, enabling you to select the stations you want to participate for this specific monitor.

Please leave a comment if you have questions about this or open a ticket at the helpdesk.

Post by Mark Pors. Mark is CTO and co-founder of WatchMouse. His favorite editor is emacs, but he hardly gets to use it nowadays.

‘WatchMouse Weekly’ tweets and corresponding blog posts aims to be an introduction with tips and tricks for getting the most out of your WatchMouse monitoring. For all ‘WatchMouse Weekly’ blog posts go here.

Using Real Browsers to Monitor Web Speed: A New Addition to the WatchMouse Line of Products

Posted by stan on November 8th, 2010

We’re pleased to announce a new addition to our monitoring services today (drum roll, please) – Real Browser Monitoring!

Real Browsers

What is Real Browser Monitoring?

Real Browser Monitoring accurately measures the performance of real browser visits. By pinpointing performance issues using an actual browser, this service enables businesses to verify that their site and web applications are delivering the best possible user experience.

Traditional site monitoring tools emulate browsers to check a site’s availability and performance. That is perfectly suitable to get the performance and uptime under ideal conditions. Real Browser Monitoring however, allows you to verify a site’s performance as perceived by the end-user using a real browser.

Why should you care?

Today’s sites commonly use Web 2.0 technologies (Ajax, JavaScript, CSS and Flash) to allow collaboration between the components of a site from their different global locations. Sure, your site may load perfectly and swiftly from the office, and from other locations in your area, but how about other cities or other countries? If your site attracts more than a regional community of users, you should be thinking about using real browsers to monitor your website’s speed. Your own content may be optimized locally, but are all of your other components optimal as well? And, how optimized is your website for the international visitors you wish to reach?

The actual performance of your website (as your visitors experience it) is affected by:

  • Third-party content (Google ads, Facebook applets, Twitter feeds, Discus forums, widgets, etc.)
  • Dynamic content executed in the browser (JavaScript, AJAX, CSS)
  • Effective use of a content distribution network
  • The (network) distance between your site and your visitors, i.e. the UK, France, and Germany are close, but Australia and Brazil may be far away

Real Browser Monitoring checks that each component of a Web 2.0 site is correctly responding, and functionally verifies that your composite sites or sites are working – from the web server right through to the end-user’s browser. It benchmarks a website, reports the true end-user’s experience, and offers insight above and beyond regular website monitoring tools that synthetically emulate browsers to check a site’s availability and performance

Along with regular monitoring, we advise that you monitor full page load times with a real browser on an ongoing basis, and from all the regions and countries where your (potential) customers may reside.

The only way to accurately monitor the performance of each component of a Web 2.0 site is to use a real browser to execute the JavaScript.

You can start right now!

Already a WatchMouse client? If you are subscribed to one of our current plans you’re al set to use this new type of monitoring: Each of the plans included ‘scripting monitors’ which can now be used for either scripts or for real browser monitors. And you can extend your plan with extra real browser monitors here. Your first time? Then sign up for a free 30-day trial to experience real browser monitoring yourself right now!

Feel free to contact us if you have questions.

Happy Monitoring!

The WatchMouse Team

More on Real Browser Monitoring…

WatchMouse Adds New Monitoring Stations in South Africa and Indonesia

Posted by stan on June 29th, 2010

We regularly invest in infrastructure that strengthens our ability to watch over online business, and this includes adding to our growing list of worldwide monitoring stations. The addition of new monitoring stations is both strategic as well as client driven. Our most recent monitoring station additions are in Jakarta, Indonesia and Cape Town, South Africa, and bring our worldwide grand total up to 48.

We added Indonesia due to the increased user adoption of social networking sites in that country, whose population is said to be ranked among the top social network users in the world. We added South Africa because we anticipated that the 2010 FIFAWorld Cup would bring an influx of web traffic and server stress from that country – plus, we love football/soccer every bit as much as the next fan! (Not that we’re rooting for anyone specifically, but…Hup, Holland, Hup! ;)

Adding these two new monitoring stations lets us test and monitor how any website is performing from the perspective of a web visitor in each of these specific countries.
We value your feedback. Where do you think the next WatchMouse monitoring stations should be and why? Let us know and perhaps you’ll be reading another blog post from us in the near future announcing the location you suggested!
Filed under Website monitoring Tags: No Comments

Pageload Waterfall Diagrams: The World Tour

Posted by mark on June 8th, 2010


Detailed Timing Analysis of Embedded Page Elements now Visualised

Currently the WatchMouse website monitors (of type http and https) retrieve the HTML of a page and measure the resolve time, connect time, processing time and download time. Often this information is sufficient to detect slow page loads.

In some cases, however, it would be great to have a more detailed analysis containing all embedded elements (images, external stylesheets, …). This so-called “Full Page Monitoring” is available through the use of the WatchMouse scripting service.

Today WatchMouse introduces a new feature: Waterfall Analysis Diagrams for Full Page Monitors. The image below is an example of the results for a single Full Page Load check.

Waterfall Analysis Chart

Love FireBug?

The loading of a page and its elements is visualized similar to the breakdowns you can get from tools like FireBug. And similar to FireBug you can generate a waterfall diagram for any webpage, allowing you to inspect slow loading elements, verify on server response headers, etc.

Next to that, the new Waterfall Analysis has two additional benefits:

  • Continuous monitoring: your webpage is monitored every five minutes, with each check providing a full waterfall analysis, and each being available on demand through the dashboard.
  • Worldwide monitoring: your webpage will be monitored from 48 different locations worldwide, providing interesting details on the pageload from each of these locations, not just from your current location.


Waterfall diagrams, all the time, any location

These two characteristics of the WatchMouse Waterfall Analysis (continuous monitoring and monitoring from many locations) can be very useful evaluating page load time in the following ways:

  • Page load time changes over time. Peak traffic makes a web site possibly load slower, and site changes (like database modifications, or server architecture changes) can also have impact on the page load time. Page load trends can be followed in the standard performance reports in the WatchMouse console, while an in-depth analysis of a slow monitoring sequence can be performed using the waterfall analysis.
  • Page load time depends on the location of the visitor. If your website’s target audience is international, you probably optimize the delivery of the page and page elements for all of your target countries by using a distributed cloud solution or a content delivery network (CDN). The Waterfall Analysis performed from many locations provides insight in which of the page elements are the bottleneck for a fast loading website.


Getting started

If you are a WatchMouse client already and you use our “scripting” monitors, there is nothing you have to do to dive into the Waterfall diagrams. Just open the log viewer and select the monitoring results for any of your scripting monitors: You will see the Waterfall Analysis icons show up. Clicking on the icon will lead you to the Waterfall diagram for that specific check.

Waterfall Analysis in the log viewer

If you are not using scripts yet, or if your scripts are not set-up as a “Full Page Load” monitor yet, simply follow these steps:

  1. Make sure you have one or more unused script monitors available in your subscription plan. You can always add additional scripting monitors to your subscription.
  2. Download the Full Pageload template and unzip it:
  3. Create a new monitor in the settings, and select type ‘script‘.
  4. Upload the Full Page script template (full_page.jmx) that you just downloaded.
  5. Switch to “expert mode” and fill in the host and path fields, e.g.: “www.yoursite.com” and “/index.html”
  6. Change any other settings to your taste and finally click ‘save’.
  7. Within a few seconds you should see the first monitor results and the waterfall via the log viewer.

Thats it!

How does it work? HAR!

The WatchMouse Waterfall Analysis diagrams are based on a number of open-source technologies which are integrated into the our monitoring infrastructure. The visualization of the waterfall itself is based on Jan Odvarko’s excellent HARviewer. As the name implies, the input format for the visualization is based on the Steve SoudersHTTP Archive format which is a generic “format that can be used by HTTP monitoring tools to export collected data”.

In short: Monitoring results from the WatchMouse Full Page Monitors are converted to HAR to be able to visualize it. Each waterfall diagram is also directly available for download as a standard HAR file, enabling you to use it in other tools too.

Keep an eye on the WatchMouse Labs blog for an in-depth post about how we convert our monitoring data to HAR and more.

Share it!

Waterfall Analysis diagram can easily be shared with your colleagues, without requiring direct access to your WatchMouse account. To facilitate this, all Waterfall diagrams include a sharable URL, for example:

http://www.watchmouse.com/en/waterfall.php?mid=3&rid=51138&lid=31991975&key=fc37ac9b0a0ba88.

Go ahead and click it!

What do you think?

The Waterfall Analysis diagrams went live today, and are not perfect yet. A few known issues are:

  • It won’t work in Internet Explore 6, and only limited support is provided for Internet Explore 7.
  • Not all timing parameters are available yet (e.g. resolve time). We are looking into adding these in the near future.
  • The waterfall view doesn’t incorporate typical browser behavior (like parallel connections, pipelining, etc.) yet.

What do you think? Is this new feature useful for you? Please let us know what you think by leaving a comment, how you are using it, and what improvements you would like to see.

Free WatchMouse Traceroute Tool Now Allows Traces from 40 Locations Worldwide

Posted by mark on April 19th, 2010

Traceroute is a computer network tool used to show the route taken by packets across an IP network. Traceroute is often used for network troubleshooting.

Performing a traceroute (or tracert) from your local computer can be very useful, but many times you need to see traces from different locations to gain insight into possible network issues.

As of today, our free online traceroute tool can be used to trace from 40 locations worldwide: http://www.watchmouse.com/traceroute.php.

You can see the tool in action in the screenshot below with a trace from Nagano, Japan to our central server at www.watchmouse.com.

Traceroute in action

Traceroute is already used in our Root Cause Analysis functionality. When an error occurs, two traces are instantly executed from the used monitoring stations.

We hope this is useful for you and welcome your feedback!

WatchMouse Adds to Growing List of Global Customers

Posted by mark on April 13th, 2010

We enjoy working with a number of leading companies around the world, and thought we’d tell you about a few companies that we recently started working with including:

  • Dutch Railways, the principal passenger railway operator in The Netherlands
  • 9292OV, the leading expert on travel information and travel planning for Dutch public transportation
  • Nuon, a leading Dutch energy company
  • Fiat, an international automobile maker
  • Zappos, an innovative online retailer

Each of these companies has highly trafficked consumer-facing websites that need to be up 100% and operational 365 days of the year. They saw our product as the best way to monitor the performance of their sites globally.

We welcome these companies to our rapidly growing list of WatchMouse customers around the globe!

Filed under Website monitoring Tags: No Comments