[UPDATE v3] With the release of v3, the ExtraHop Citrix XenApp and XenDesktop Solution Bundle supports the PNAgent interface in addition to the web interface.
The ExtraHop system already performs great out-of-the box real-time analysis of the ICA protocol. However, XenApp and XenDesktop solutions from Citrix rely not only on ICA, but on a variety of other protocols, like HTTP, DNS, LDAP, CIFS, etc.. to deliver the infrastructure to the user.
The bundle uses cross-tier correlation keyed off Citrix XenApp and XenDesktop authentication mechanisms to accomplish the following:
- Automatically detects XenDesktop vs XenApp traffic and creates of separate ICA Application for each
- Extracts login username at the Citrix web front end, correlates that to the ICA traffic, and displays latency reports by user in a custom page associated with each application (note: Citrix web front end username is different from ICA username, which is often simply the name of the workstation accessing the Citrix server)
Triggers in the bundle
XenApp Custom Application
XenDesktop Custom Application
User Detail Page
Load Time by User
End-to-End Latency by App (XA)
End-to-End Latency by App (XD)
- This bundle assumes that Citrix applications are accessed through Citrix Web Interface and that this traffic is passed in the clear over HTTP (or that SSL decryption is enabled and the Citrix Web Interface private key is uploaded into ExtraHop). Legacy methods not relying on logging in through the web interface are not going to work with this approach.
- This solution only works for Citrix ICA Basic encryption mode. If you are using a variation of RC5 encryption, try out this bundle instead.
- This bundle was tested with XenDesktop 5.5 and XenApp 6.5 and the latest Windows and Linux Citrix Receiver clients (Mac clients do not contain the correlation ID necessary for this application to function).
- Citrix Client Latency metrics require that Citrix End User Experiencing Monitoring (EUEM) service is enabled.
- Download the bundle
- Upload the bundle into the ExtraHop appliance by going to Settings >> Bundles >> Upload bundle file.
- Apply the bundle to extract triggers and custom pages.
- Triggers and custom pages are enabled by default and can be set to Applied to All. If you leave them running, they should auto-detect your Citrix infrastructure and create "XenApp" and "XenDesktop" applications under Applications, assuming both types of traffic are present.
- As a performance optimization, consider assigning triggers more narrowly:
- Citrix web front ends
- Citrix XenApp and XenDesktop servers
- The code assumes that the URI accessed on Citrix Web Interface server includes "auth/login". If the URI is different, configure this in HTTP_REQUEST section of the trigger.
- If troubleshooting is required, enable Debug Mode on the triggers and look at the Runtime Logs for more information - it is possible that correlation is not present on all versions (see Requirements).