In Part 1 we laid out the groundwork for preparing to implement your NetScaler Insight Center implementation.

In Part 2 of the series we will jump into action by putting the component parts together.

First up we need to download the virtual appliance, XenServer or VMware flavours. There is an XVA file for XenServer 5.6 or later which can be added via XenCenter or a zip file for VMware ESX 4.1 or later which once expanded includes an OVF and VMDK files which can be imported via vCenter Server. The requirements were covered in Part 1 for the hypervisor in terms of disk space etc.

Now we can boot the Virtual Machine (VM). From the console tab of our hypervisor we need to provide the IP address, Subnet Mask and Default Gateway of the Insight VM. Once these are set pick the option to ‘Save and quit’ then the VM will reboot:

NetScaler Insight Initial Network Address Configuration.
This menu allows you to set and modify the initial IPv4 network addresses.
The current value is displayed in brackets ([]).
Selecting the listed number allows the address to be changed.
 1. NetScaler Analytics IPv4 address []:
 2. Netmask []:
 3. Gateway IPv4 address []:
 4. Cancel and quit.
 5. Save and quit.

Select a menu item from 1 to 5 [5]: 1

Don’t worry if you make a mistake here you can get back to the network config later on by accessing the console and running # /mps/networkconfig

Open up your browser and launch the Insight UI by connecting to the IP address you configured. Access to the Insight Center UI defaults to HTTP. This can be changed to HTTPS from Configuration > NetScaler Insight Center > SSL Certificate Files.

Enable AppFlow data by navigating to Configuration > Inventory. Click Add to add the NetScaler, the IP, username and password are required. Inisght will connect to the NetScaler and retrieve the Load Balancing, Content Switching and VPN virtual servers and make those available in the Inventory in the UI. To setup data collection from one of the desired virtual servers you need to right-click and select Enable AppFlow which will prompt to set the AppFlow expression. There is a drop-down box with the following suggestions for expressions for use with Web Insight, which I have listed and explained below.

HTTP.REQ.URL.CONTAINS(“images”) – This will trigger if the request URL includes “images” e.g. /citrix/images/index.html
HTTP.REQ.COOKIE.CONTAINS(“JSESSIONID”) – This will trigger if there is a cookie called “JSESSIONID” present in the client side requests.
HTTP.REQ.HOSTNAME.CONTAINS(“”) – This will trigger is the HTTP client request is for a hostname “”
HTTP.REQ.VERSION.MINOR.EQ(1) – You can report on the Major or Minor version of the HTTP Version number, in this instance Minor will only match if the version is .1 which suggests HTTP/1.1
HTTP.REQ.LB_VSERVER.NAME.EQ(“MyLB”) – This will trigger if the name of the virtual server on the NetScaler is called “MyLB”
HTTP.REQ.LB_VSERVER.THROUGHPUT.GE(5) – This will trigger if the throughput available on the virtual server that the expression is bound to is greater than 5 Mbps.
HTTP.REQ.LB_VSERVER.HEALTH.BETWEEN(0,75) – This will trigger if the virtual server has between 0 and 75% of services bound to the vserver are in UP state.
HTTP.REQ.LB_VSERVER.CONNECTIONS.GE(15000) – This will trigger if the virtual server has greater or equal to 15000 connections.
HTTP.REQ.URL.SUFFIX.EQ(“json”).NOT && HTTP.REQ.URL.SUFFIX.EQ(“css”).NOT – This will trigger if the client HTTP requests are NOT for URL suffixes .json AND .css.

As discussed in Part 1, TCP ports 22, 80, 443 and UDP port 4739 need to open between Insight collectors and the NetScaler(s). The selection of the expression is important especially if you have a busy production virtual server. You may not want to capture statistics on all traffic though the virtual server, perhaps only a subset of the traffic or to focus on potential problem areas. The flexibility of the AppExpert engine of the NetScaler allows you to achieve this.

The other option when adding the AppFlow expression is the checkbox for HTML Injection

This is an optional extra that is only required if you need to be able to see the render time for web pages i.e. the length of time the page takes to load. This is a useful tool, which is powered by HTML Injection of pre-body and post-body JavaScript code by the NetScaler appliance. HTML Injection does need to vetted for compatibility with your web applications so a testing phase is advised before going into production.

If you intend to use HDX Insight then adding the expression is a lot more straightforward, simply add the ‘true’ value in the expression box and you are covered!

Returning to the NetScaler, you can check the following areas for the changes made by Insight to enable the flow of analytics data. Under Load Balancing > Virtual Servers you can open up your virtual server you configured on Insight. On the first pane we should notice that AppFlow Logging is checked, if not it should be! This also applies to all services bound to the virtual server.


There should be an AppFlow policy and collector created and bound:

Also EdgeSight Monitoring Pre-body and Post-body policies should be created and bound:

Lastly some Rewrite policy binding:

For all of the above the basic feature Rewrite, advanced features AppFlow and EdgeSight Monitoring (HTML Injection) should be enabled automatically by Insight. As these are NetScaler features this explains the NetScaler licence pre-requisite for Insight integration.

Now that everything is in place we need to generate some traffic for Web Insight to display. Load up your browser and point to your virtual server, even better get some users to test this out with real world generated traffic. When we return to Insight we should see some new data under the 5 min drop-down option for Devices (NetScalers), Applications (LB, CS or VPN virtual server(s)), URLS, Clients and Servers.

For HDX Insight we require the Citrix End User Experience Monitoring (EUEM) Services needs to be enabled and started on each XenApp server, for XenDesktop this needs to be started and enabled on each VDA. To generate some data launch some applications, preferably from different clients using different usernames and launching different apps.

We should see at a minimum the number of licenses on the NetScaler in Insight:

We should also see the NetScaler appear in Gateways

If successful, you should see some data on your applications. Here we can see the most popular application on XenApp, the calculator!

Check out Part 3 for  tips on Troubleshooting NetScaler and NetScaler Insight Center and how to upgrade Insight.