Tag Archives: Horizon View

Proving your VDI is performing well

How do we know a user is getting a good performance on her/his VDI session? When she called help desk and shared that her Windows is slow, how can help desk quickly determine where the root cause is?

I shared the metrics you need, and showed a sample dashboard here. There were a few requests to add the threshold line. This makes it easier for the Help Desk team. They just need to know that Actual should be better than Threshold.

So here is the updated dashboard. I’ve added a Threshold metric for each counter. You do this by creating a super metric, with a constant value. For example, if the CPU Contention you tolerate is 2%, then simply specify 2 as the super metric formula. No need to add the %.


Compared to the previous example, you will notice it’s neater. I’ve organised the widget, so Network widgets are grouped together, CPU widgets are grouped together, etc. I’ve also named the metrics to just Actual and Threshold. Lastly, I’ve removed the units and displayed it at the Widget title bar.

The help desk just need 3 steps:

  1. Search the user. We use the MS AD Login ID. I did a search above. It’s showing 2 results as this user ID has 2 concurrent active sessions (on different Horizon pools). I
  2. Select a session. All the counters from Horizon session (from V4H adapter) are automatically shown.
  3. Click on the VM object. This is to display the VM counters (from vSphere adapter)

Hope it helps!

vRealize Operations for Horizon View 6.2 upgrade

On 8 Dec, the Horizon team released an updated version of vRealize Operations for Horizon. I’ve worked with customers a few times on this product, and it certainly helps both the Horizon admin (EUC team) and vSphere admin (Platform team) to collaborate. That last one is important. Horizon is tied to vSphere, that you cannot manage it without having end to end visibility into the platform.

There are many articles on a fresh installation, so I will cover upgrade here. Please read the Upgrade section of the Release Notes, as there are things to know. After that, read the Upgrade section of the manual.


Other than what the manual say, take note of the following:

  • Admin Access to Horizon View Connection Server.
  • Root access to vRealize Operations SuSE console. You will either need to enable SSH, or have VM Console access in vCenter.
  • Snapshot access to vCenter. You should take a snapshot before making any changes. You need to snapshot View Connection Server and vRealize Ops.

Step 1: Stop the Broker Agent services

Go to Horizon View Connection Server, and manually stop the service. You have to click it 2x, as it would go from Running to Stop Pending first.


Step 2: Update the solution

Other bloggers have provided good write up, so review this or this for a step by step instruction. I am not going to uninstall existing version since the manual implies that we install on top of existing instance. Also, if you uninstall, you will lose all your customisation and metrics.


To install on top of existing instance, you need to tick the 2 checkboxes, as shown below.


When you do that, you got a warning that it will replace existing changes. This is why I normally clone them, and leave the original intact. For example, if it is an alert, I’d also disable the original alert so I’m not double alerted.

Continue with the installation.


When it’s completed, the old solution is replaced. You can tell that the new build number is now shown.


The manual said to reboot. I’d wait until I modify the firewall port so it’s done together.

Next. Configure licensing information for the vRealize Operations for Horizon solution. Notice that there are 2 license keys required. One for vRealize, one for the Horizon solution. I think this step is actually optional, as you’ve got the existing license configured already.

5 license

Step 2: Update firewall ports

The firewall ports changed. You need to enable the port numbers 3099, 3100, and 3101.

  1. Login as root (the user Admin cannot login anyway)
  2. Edit the /opt/vmware/etc/vmware-vcops-firewall.conf file .
  3. Add the line: TCPPORTS=”$TCPPORTS 3099:3101″ after TCPPORTS=”$TCPPORTS 3091:3095″ . See below for example


Either do the next 2 steps, or just rebooted the VM. As the manual said it needs a reboot after the Solution was installed, I rebooted. It’s easier than typing all these long commands 🙂

  1. Restart the firewall: /etc/init.d/vmware-vcops-firewall restart
  2. Check the status of the firewall: /etc/init.d/vmware-vcops-firewall status

Step 3: Modify TLS

TLS 1.2 is enforced by default in version 6.2. The Adapter cannot communicate with older desktop Agents running with TLS 1.0, which is used in 6.1. Bin Guo from R&D advised me that you don’t need to upgrade them if you continue to use the TLS 1.0. But you must enable TLS1.0 settings on adapter configuration. To do that, add the enforcesslprotocols = false line in the screenshot below to the  /usr/lib/vmware-vcops/user/plugins/inbound/V4V_adapter3/work/msgserver.properties file


Horizon Adapter in View Connection Server has to be restarted.

If you want to use TLS 1.2, you can upgrade the desktop agent independently, or update the whole Horizon View to 6.2.1 (View 6.2.1 disable TLS 1.0 too)

Broker Agent and Horizon Adapter instance pairing might be required.

Step 4: Update the Broker Agent

After the solution is licensed, you must install and configure the new version of broker agent. If you are not familiar, follow this or this for step by step. BTW, you only install it on 1 View CS if you have pairs, not all members. Also, do not install in View Security Server. This is stated in the manual.

If your broker agent is 6.1, you do not have to uninstall. If you are using older version, uninstall it. The 6.2 Broker Agent now requires MS .Net 4.5. It will stop if you do not have one.


During the Broker Agent upgrade process, this is what happened:

  • Broker agent 6.1 service is stopped
  • Its configuration is preserved. This includes data such as Horizon Credentials and Events DB configurations. Nice! No need to re-enter all those passwords
  • Broker agent 6.1 is uninstalled
  • Broker Agent 6.2 is installed.

The 6.2 sports a different UI, but the information that it asks is the same. Take note the version number (6.2.0) and build number. The first stage is to re-pair the adapters. This would fail if you did not add the firewall ports earlier.


In case of upgrade, the Broker Agent service is not started automatically. You need to click the Start button above.

And that’s all you need. If you need to troubleshoot, you can get the log of …..

  • the Broker Agent at C:/ProgramData/VMware/vCenter Operations for View/logs
  • the individual VDI Desktop at C:\ProgramData\VMware\VDM\logs and locate the desktop agent log files. The agent log file names begin with v4v-.

BTW, there is a user guide that was introduced in this blog. The blog shows you the link to the actual guide. For your convenience, here is the actual PDF guide.

12 KPIs for high performance VDI

How do we know a user is getting a good performance on her/his VDI session? When she called help desk and shared that her Windows is slow, how can help desk quickly determine where the root cause is?

I covered that VDI workload differs to server workload here. In this context, the PCoIP metrics certainly play a key role in determining a good user experience.

There are 4 basic elements of infrastructure (CPU, RAM, Network and Storage). For each, there are certainly multiple metrics that can impact a user experience. I came up with the following 12 metrics. For each, I give my 2 cents on what I think a healthy value should be for a “snappy Windows”. Something that matches the experience you have on a US $1000 PC (with 27″ monitor).

VDI high performance

[12 Jan 2016: V4V 6.2 can monitor the Disk Queue Length]

You should certainly establish your own threshold. The good thing is you can use vRealize Operations super metric preview to see your historical data.

By having 12 metrics that you check, you are far more comprehensive than checking say 4 metrics.

The above counter requires vRealize Operations for Horizon View. For short, we typically call it V4V. This is because it relies on agent inside the Guest OS (Windows in VDI case). You do not get PCoIP metrics from standard vRealize Operations, even if you install the End Point agent. That metric comes from View agent, which includes V4V agent.

Can you notice what metric is missing?

There is no Memory Consumed and Memory Active metrics. See this for explanation.

Take note that V4V 6.2 cannot measure Disk Queue Length. It’s not a major limitation as Disk Queue Length typically develops if the disk latency is high, or there is an issue with the driver.

Once you have the above metric, it is pretty easy to create a dashboard for Help Desk. Here is what it looks like. I’m only showing the top part of the dashboard.

VDI high performance 2

The help desk just need 2 steps:

  1. Search the user. We use the MS AD Login ID. I did a search above, hence it’s only showing 1 result as I typed the full user ID and there is only 1 match. I selected a user, and all the counters from Horizon session (from V4V adapter) are automatically shown.
  2. Click on the VM object. This is to display the VM counters (from vSphere adapter)