PWR UX Monitoring: New Functions on Pandora FMS
This post is also available in: Spanish
For the latest iteration – Pandora FMS v. 7 NG – of their flexible, customizable, does-everything, goes-everywhere, complete monitoring solution, the good people at Pandora FMS have included a new function in their expanding box of tricks: UX monitoring.
To monitor user experience, Pandora UX bases its workings on carrying out automated tasks and delivering reports with results, timings, and screenshots, in order to view possible errors and their location.
Pandora UX works on two levels, web and desktop:
- Pandora Web Robot (PWR): recreates a fictitious user’s browsing activity. It measures the validity of navigation sequences, timings and value checks. It’s fast and runs in the background
- Pandora Desktop Robot (PDR): recreates user interaction with OSs.
It also permits Flex-based apps (Adobe) to be monitored.
We’re going to be focused on monitoring web surfing and browsing user experience with PWR UX.
PWR UX Monitoring:
Setting up the environment
UX monitoring needs a series of prerequisites to be met related to the environment you’re going to monitor:
- Install Java.
- Set up a Firefox profile.
- Create directories.
- Install Selenium service.
- Distribute PWR on the system.
- Install Selenium IDE for Firefox.
Record a PWR session
After setting up the environment, you can record the session using the Selenium extension:
As you carry out browser actions you’ll see actions start to appear in Selenium IDE’s recording table:
When you’ve finished recording, replay the process to find out if everything’s gone OK. Press play:
If everything’s gone according to plan, save the session and create an HTML file for Pandora UX to interpret.
Using this same procedure, you can replicate more extensive and complicated browsing processes, such as performing a consumer action, or purchase, at your online store to ensure it all works OK, and the purchase is processed correctly, or consult a product list and establish acceptable response-time thresholds, giving you important feedback on your service.
The following example replicates a purchase process in a well-known online store. Enter the website, add a product to your shopping cart and process the purchase. At the final step, when you should validate your user ID and pay, use the option Remember password. As you can see, it’s a faithful replication of a standard purchase process.
The recording looks like this:
Introducing the execution onto the Pandora agent gives us these modules:
Record a transaction session
It’s possible to break down the web browsing monitoring into as many phases as you like, to get the granularity of detail you want at each step of the process. This is particularly useful for checking timings for each phase, or to see if there’s a bottleneck or slowdown anywhere, and to find out exactly at which point of the process the problem is located.
To insert control points and generate the corresponding modules just label each of the steps performed on the recording as commentaries:
Adding the following labels separates the distinct phases, which comprises timings and results from all the intermediary commands till the following phase, or end of phase:
<intermediate steps within the phase in question>
Let’s take a look at a recording of a two-phase purchase process:
- Loading the website.
- Purchase action.
This allows you to analyze the time taken during each phase and to locate any chokepoints or bottlenecks that could be slowing down your service:
Execute PWR sessions
Executing PWR sessions is simplicity city. Call up the executable, pandora_ux_x64.exe (and its complete route) supplied with a series of parameters, and plug it in to a Pandora agent.
Execute as follows:
pandora_ux_x64.exe –exe PWR –script tests\session.html –folder C:\sondas
The modules that return the execution are:
- UX_Status_project_name: indicates whether browsing was successful.
- UX_Time_project_name: indicates time taken, in seconds.
- UX_Snapshot_project_name: image of the last point where an error was produced.
It’s imperative to check that the command line execution has been successful, and, if so, add it to the agent’s configuration file using module_plugin.
Example of a configuration line on pandora_agent.conf (as a single line):
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\sesion.html -folder C:\sondas
You can reinitiate the agent service in order to force execute. Normally it takes a few seconds to report the data, especially in the case of extensive browsing processes.
If the execute has functioned correctly, you’ll see the modules on the Pandora agent:
Execute PWR transaction sessions
If it’s a PWR transaction execute, it’s performed the same way. Apart from seeing the modules with the corresponding phases, the transaction details may be viewed on the Pandora agent’s UX section on the console itself:
Go to the agent’s UX section to see the phases in detail, as a history:
The following modules correspond to the purchase process carried out previously. In this case, with two phases, allowing both times to be calculated:
Go to the agent’s own UX section to see all the details of the phases:
By analyzing the above screenshot you can see the first phase of the transaction (Execution results for transaction) is the one that takes longest, while the purchase process itself is quick, once the page has loaded. The UX transaction system allows for this level of flexibility and capacity for detailed analysis.
In the following example you can see a longer recording. Firstly, we surfed briefly around the Pandora FMS web and reserved a few products. We divided the process into five phases:
- Load web page.
- Open online store.
- Load articles in cart.
- Keep shopping and add more products to the cart.
- Finish shopping.
The recording should look like this:
Add the following execute line with module_plugin to the agent (as a single line):
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\pandora_fases.html -folder C:\sondas
After reporting the information to the agent the modules appear like this, in hierarchy mode:
The transaction details and the different phases allow you to make new analyses on the slowest points in the process:
Finally, as you’ve hopefully seen, adding the Selenium IDE recorder opens up many possibilities, although it can be time-consuming and tedious for recording complex browsing processes. We recommend consulting the official documentation in case of any issues.