Citrix XenDesktop & XenApp on vSphere monitoring

This blog is contributed by my friend Luciano Gomes, a VMware PSO Senior Consultant in Rio de Janeiro Area, Brazil. Thank you, Lucky!

vRealize Operations for Published Applications (V4PA) provides good insight into Citrix Environment. If you are running Citrix on vSphere, you can see both layers in a single pane of glass.

First, let’s ensure we have the prerequisites. You can find the details here. I’ll summarize it here:

  • vRealize Operations. I recommend 6.2.1 release.
  • Citrix XenDesktop/XenApp 7.6 and XenApp 6.5 for Windows Server 2008 R2 (we support older versions too, but some features will not be available).
  • vSphere 5.5 and above
  • Install Desktop Agents in All VDI Desktops (V4PA agent – its footprint is minimum)
  • Install Desktop Agents and Broker Agents in all Delivery Controllers
  • Install Desktop Agents in all Servers that is part of your farm.

I’m showing the architecture in the following screen. Notice where to deploy the Desktop agent and Broker agent. They are 2 different things!

GUID-72A8897F-C0D3-4245-8998-E76EE317755E-high

The product is licensed as part of App Volumes. I’m including the license information and the version supported on the following table. Apology that the version number is showing the earlier version. What you want is version 6.3.

licensa-v4pa

Notice there are 2 different products. If you get the vRealize Ops for Horizon, you get the vRealize Ops for Published Applications too. For more information, see here.

In this guide, Citrix shows what you need to monitor to ensure a healthy Citrix farm. Do read the guide first 🙂

Done reading? Cool, let’s now show you how to monitor using vRealize Operations Manager for Published Applications 6.3. There are a couple of dashboards which I find useful.

XD-XA Overview Dashboard

It shows the status of your end-to-end XD-XA environment, including the XD-XA-related alerts, key Site metrics, Site related vCenter capacity.

When to use it:

  • Assess overall XD-XA performance, and the overall user experience.
  • View the top XD-XA-related alerts.
  • View Site related vCenter remaining capacity and reclaimable capacity.

Slide1

XD-XA Help Desk

It shows the information about all sessions running in your environment. The Sessions Details widget lists all of connected VDI desktop sessions, RDS desktop sessions, and application sessions in your environment and is the master widget for the dashboard.

When to use it:

  • View existing alerts of the system and the selected session.
  • Metrics of selected session, Health, Workload, Logon Time, ICA Round Trip Latency, ICA Input Bandwidth, and ICA Output Bandwidth.
  • View important logon metrics, Brokering Duration, HDX
  • Connection Duration, Authentication Duration, GPO duration, Profile Load Duration, and Interactive Duration

Slide2

Slide3

XD-XA Server Desktops

It shows the session-host server metrics and related vSphere VMs, server resource utilization and server indicator metrics.

When to use it:

Check servers alerts, server indicator metrics, and resource utilization metrics.

Slide4

XD-XA Session Details

It shows the detailed information of all the sessions, session logon breakdown, session performance metrics, running processes of the session, users summary, User logon duration trend, and the report of what application are launched by a user and when.

When to use it:

Check detailed session information, check session logon details, retrieve session running processes for troubleshooting, check users summary, check user logon duration trend, and look at the report of what application are launched by a user and when.

Slide7

XD-XA Server Applications

It shows the Application summary data, application instance number trend, application instance summary data, application instance resource utilization, application launch duration trend, application users, Application related servers, and server indicator metrics.

When to use it:

Check application summary data, performance data, launch duration historical trend, the report of which users launched applications and when application-related server indicator metrics.

Slide5

XD-XA VDI Desktops

It shows the VDI Desktops related alerts, VDI Desktop summary information and VDI session detailed information, VDI desktop session resource utilization, and running application list of a VDI desktop session.

When to use it:

Check VDI Desktop overall status, top alerts, resource utilization, and retrieving session running application list for troubleshooting.

Slide6

XD-XA User Experience

It shows the vCPU Experience heatmap, vDisk Experience heatmap, vRAM Experience heatmap, vCPU relationship, vDisk relationship, vRAM relationship, vCPU chart, vDisk chart, vRAM chart, and Delivery Group critical alerts.

When to use it:

Check overall and detailed vCPU/vDisk/vRAM experience, check delivery controller critical alerts.

Slide8

This wraps up the out of the box dashboard.

Let’s now cover how you can customize and extend the monitoring.

Customizing V4PA

In vRealize Operations do you the flexibility to run your own script and other tools. I will show you how to it and I will give a true example using two very good Powershell Scripts from the Community that you can access here and here.

Pre-Requisites:

  • Install Endpoint Operations Manager Agent in the Delivery Controller – See here for how
  • Copy this 2 scripts in your (here and here) Root IIS Folder in the Delivery Controller Server (something like c:\inetpub\wwwroot\CitrixHC)
  • Configure vRealize Operations to run this scripts periodically
  • Configure Dashboard to Show the Results of the Script.
  • You must create one or two .bat files to call your PowerShell Scripts (example below)
@ECHO OFF
SET ThisScriptsDirectory=%~dp0
SET PowerShellScriptPath=%ThisScriptsDirectory%MyPowerShellScript.ps1
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '%PowerShellScriptPath%'";
The source of this example above you can check here.

Configuring vR Ops:

After you install the Endpoint Agent, go back to vR Ops interface and look for your Delivery Controller Server, in my case my server is called srvctx01.secutorfight.com.

1

Click on your server and configure it, as shown below:

2

Complete the configuration:

3

Repeat this configuration if you need to run more than one script. Wait for a few minutes and check if your script is running (go to Delivery Controller and check the results).

Next, create a dashboard:

dashboards

Create two Text Widgets:

4

Configure like the following example:

5

Click the Test button and check if you have a Success Message. If yes, save and repeat the same procedure to the other Widget. Now, you have the new customized dashboard like the one below:

6

Hope it helps. Have fun and enjoy!

Sample dashboards to monitor NSX Load Balancers

This blog is contributed by my friend Luciano Gomes, a VMware PSO Consultant in Rio de Janeiro Area, Brazil. Thank you Lucky!

vRealize Operations NSX for vSphere v3.0 management pack has 4 “out-of-the-box” dashboards. In this blog, I will show you how to create 2 dashboards to monitor Load Balance Services. You can certainly expand the idea to monitor any service hosted by NSX Edge). I will provide the files, so you can just import the XML file. So, let’s get started.

Pre-requisites

You should have the following up and running:

  • vRealize Operations. I recommend 6.2.1 release.
  • NSX Load Balancer
  • NSX for vSphere Management Pack

Configuring the XML and importing the Dashboards:

Create a new Metric Config file. Copy and paste this text below into it. This drives the customised metric shown in the dashboard.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <AdapterKinds>
 <AdapterKind adapterKindKey="NSX">
 <ResourceKind resourceKindKey="LoadBalancerEdgeService">
 <Metric attrkey="virtualserver|session_rate" label="Virtual Server|Sessions per second" unit="Sessions" yellow="500" orange="7000" red="85000" />
 <Metric attrkey="virtualserver|current_sessions" label="Virtual Server|Current Sessions" unit="Sessions" yellow="5000" orange="7000" red="85000" />
 <Metric attrkey="virtualserver|max_sessions" label="Virtual Server|Max Observed Sessions" unit="Sessions" yellow="500" orange="7000" red="85000" />
 <Metric attrkey="pool|session_rate" label="Pool|Sessions per second " unit="Sessions" yellow="500" orange="700" red="850" />
 <Metric attrkey="pool|current_sessions" label="Pool|Current Sessions" unit="Sessions" yellow="500" orange="700" red="850" />
 <Metric attrkey="pool|max_sessions" label="Pool|Max Observed Sessions" unit="Sessions" yellow="500" orange="700" red="850" />
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

If you are not sure how to do it, here is the instruction and screenshot.

  1. Click Content on the main navigation
  2. Click Manage Metric Config from the menu on the left.
  3. Select ReskndMetric
  4. Click Plus green icon, to create new file
  5. Give a name to file: load.xml
  6. Save the file.

nsx1

The next step is to import the dashboards. Download it from this link link, then follow the steps

  1. Click Content, then Dashboard
  2. Click in the Gear icon.
  3. Choose Import Dashboards from the drop down menu.
  4. Choose the file that you’ve just downloaded. It contains 2 dashboards.
  5. Wait a little and check the new Dashboards are imported.

nsx2

That’s it! Time to explore the new dashboards.

Exploring the New Dashboards

In the first dashboard, you choose your Load Balancer Instance from a list. The list of metrics in Load Balancer Status are automatically shown. If there is any alert, it will show up on the bottom widget.

nsx3

In the second dashboard, you have the flexibility of choosing NSX Edge or just the Load Balancer. The list of metrics are automatically shown. You can then choose any metric to plot a line chart. This is useful if you need to go back in time.

nsx4

Hope you find it useful!

vRealize Operations tutorial videos

This page serves as a compilation of relevant vRealize Operations tutorial videos for an upcoming workshop that I’m co-delivering with Kenon Owen. We’re piloting a workshop to help customers operationalize performance and capacity management. It is based on this book.

If the workshop is successful, we plan to roll out across Asia Pacific.

I try not to duplicate videos already made by others, and will link to their instead if I find theirs to be relevant for the workshop. In general, the videos in 6.0, 6.1 and 6.2 are applicable to all versions as the features I used are fairly basic.

My video has no sound for 2 reasons. I tend to make wrong pronounciation and my England isn’t exactly clear. I added music from YouTube as compensation, hope you like it 🙂

The workshop does not cover Installation & Configuration as there are many materials covering it, plus I’m only given around 4 hours to cover both vRealize Operations and Log Insight 🙂

Here is the videos so far. As I get closer to the workshop date, you will see more videos here:

  1. How to determine if a VM slowness is not caused by your shared infrastructure
    1. This is probably the #1 request I get.
    2. This demonstrates how useful Performance SLA is. Without it, you’re defenceless!
    3. I’ve added a variant to the dashboard, where you can also show the VM utilization.
  2. vSphere overall performance
    1. How is your IaaS serving the VMs?
    2. This shows that you need to define what you mean by Performance. It cannot be subjective!
  3. How are the VMs using your shared Storage and Network?
    1. Is there anyone abusing the shared IaaS?
    2. The challenge with Network IO and Storage IO is generally you do not cap. So it’s possible for a VM to excessively use it. The question is: who and when?
  4. How to create super metric.
    • I created my Top 3 most frequently asked super metrics. They are the first 3 I created in almost all my engagements.
    • I created multiple in 1 video so you can see that some steps can be done together. You can also import them, as per what Sunny has shared here.
  5. How to create view
    1. I use View widget heavily as it allows data transformation. This video also includes steps how you can use it report.
  6. Tag and Custom Dashboard
    • Matthias Eisner shows you how to Tags to group objects. He showed how to create tags, and he created a custom dashboard to show an application. Justin, our UI Architect, also shares about Custom Dashboard.
  7. How to create a multi-tenant structure
    • One of my customers enhance this by having 2 levels. 1 tenant has many Apps, and 1 app has many VMs.
  8. How to create alert for specific customer
  9. How to create a new alert definition
    • Justin, our UI Architect, share how it is done.

BTW, if you want to see them as 1 link, see this.

I will also share the workshop material once it’s finalised. For those in Singapore, see you at the workshop!