Real User Monitoring (RUM) in the Cloud – part 2 “deploying within HP Helion”

dr Haller.pngAs a “mad scientist” I like to experiment with new technology. Today (if you feel brave enough!) I will share with you my experiment of installing the Real User Monitoring (RUM) Client Monitor Probe on a HP Helion compute instance.

 

To see my first experiment in my laboratory, check out the first part of this series, “RUM in the Cloud-part 1

 

The architecture of HP Real User Monitor (RUM) allows for the placement of the RUM Probe away from the RUM Engine (i.e. not necessarily in the same IP subnet). With the introduction of the RUM Client Monitor probe, which accepts measurements from browsers and instrumented native apps, this becomes very useful.

 

Let’s revisit the how I extended my BSM 9.24 system – which is located in an R&D lab inside the HP firewall – to include the ability of monitoring Android/iOS native applications for users outside the firewall.

 

RUM demo architecture.png

 

For part two of my experiment I installed the RUM Client Monitor probe on an HP Helion instance.

 

Deploy RUM on HP Helion

In my second learning experiment I deployed a RUM Client Monitor (CM) Probe on an HP Helion compute instance. I used a “standard.small” HP Helion compute instance (2 GB RAM, 2VCPU, 30.0GB Disk) deployed to the US East area.

NOTE: To begin as an HP Helion customer proceed to http://www.hpcloud.com/ and learn about free cloud credit and current plans and pricing.

Since an HP Helion “standard.small” compute instance meets all minimum requirements for the RUM CM Probe there were no issues with the standard installation process.

 

I created an HP Helion “standard.small” compute instance. I used Windows 2008 R2

Rum in cloud 1.png

Before you forget, I suggest you create and assign a “Floating IP” for your VM. This way you can keep the IP address and move it around to another compute instance if you desire

 

Rum in cloud 2.png

Next, install the RUM 9.24 Client Monitor probe – which is very easy and not shown here.

Start the RUM probe.

If you are going to be using the RUM Browser monitor (this step is not required for native application monitoring) then copy the “clientmon.js” from the install package into the <installDirectory>\apache-tomcat\webapps\ROOT directory.

 

HP Helion compute instances are well protected by networking firewalls so TCP ports needed to be opened to allow it to be managed by my private RUM Engine, (plus for it to be able to accept measurements from instrumented mobile applications on the public Internet).

 

I opened up the required RUM CM Probe TCP ports in my Windows VM for incoming traffic on the following two ports (I used the default ports):

2020 for the RUM Engine integration.

8080 for the port that the Apache Tomcat instance that will receive your end user application measurements.

 

RUM in cloud 3.png

 

NOTE: You must also allow incoming TCP traffic at your HP Helion network border in addition to the VM firewall software itself. I accomplished this by adding two “Ingress” security group rules in the “Access & Security” tab as shown below.

 

Rum in cloud 4.png

 

Next I verified that my RUM CM Probe was reachable from the Internet.

Enter http://<yourFloatingIP>:8080/hpclientmon/data into a browser. It should respond with the following error (as the probe only supports POST operations). This error is what you should expect and proves that the RUM Probe is reachable!

 

Rum in Cloud 5.png

Next, you must add this new RUM Probe to your RUM Engine – below is what I did:

Rum in cloud 6.PNG

rum in cloud 7.PNG

 

Configure your RUM application in HP BSM. For an Android or iOS native application you should pick the “Mobile Application” template. In my case, I instrumented the Android-based “CBC News” application.

 

rum in cloud 8.png

 

Instrument your native mobile application to send measurements to your new RUM Probe and invite your colleagues to install it to help you get a world-wide performance perspective.

NOTE: the instrumentation tool for Android is available from the RUM Engine in Tools à Mobile Application Instrumentation. For iOS you will need to follow the instructions in the RUM manual to adjust your build settings.


In this blog I decided to include a few screenshots showing the results of monitoring the CBC News native Android application (installed on my phone and tablet) so you can see the value of this solution.

 

RUM Mobile Heath Report

 

Showing the recent sessions from my two devices. The sessions from Stratford are from my Android tablet on my home network. The session from Scarborough (Ontario) is from my phone that was on the Rogers Communications carrier at the time (I had turned off WiFi in order to force this result).

Rum in cloud 9.png

 

Session Breakdown

RUM can breakdown the actual sessions by app version, carrier, OS and device. Below I show the device and carrier breakdown reports.

Rum in cloud 10.PNG

Sample RUM Session List

RUM captures the client IP, location and full details of the user’s native application session. This list can be filtered to find sessions with problems or for sessions that had slow response time or that had a client-side application crash.

rum in cloud 11.png

 

Sample RUM Session

In this final report, I show a sample RUM session from my Android tablet from my home network. Note the comprehensive details captured by RUM from me using the CBC News application.

This detail would also include any native application crash details or unavailable pages that the mobile application tried to reach.

If a third-party web resource was contacted by the monitored application it would also be captured here. It is common for mobile application developers to incorporate cloud-based services such as marketing analytics or cloud-based storage into their applications. Developers frequently add rich application integration to mobile app staples such as Google Maps, Twitter or Facebook – and these cloud services could be what is causing the user experience issues for their mobile app customers!

In this example we have only one request that was a bit slow (over 3.5 seconds).

rum in cloud 12.png

 

To learn more about the HP Application Performance Management solution can help you keep on top of your mobile application performance and availability – join us for a ride on the “Bus to Applandia”.

 

Learn more about HP Real User Monitoring on our RUM page or at our mobile monitoring page.

 

You can also experience how RUM supports applications  performance monitoring with the HP toolkit for Application Performance management.

 

/dan

Comments
Kevin Blainey | ‎08-28-2014 02:07 PM
Very informative thanks Dan
Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Search
Showing results for 
Search instead for 
Do you mean 
About the Author
Dan is a subject matter expert for BSM now working in a Technical Product Marketing role. Dan began his career in R&D as a devloper, and tea...
Featured


Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.