Home > Blogs > VMware Consulting Blog > Tag Archives: Anand Vaneswaran

Tag Archives: Anand Vaneswaran

Create a One-Click IT Command Center Operations Dashboard using vRealize Operations for Horizon

Anand VaneswaranBy Anand Vaneswaran

In my previous post, I examined creating a custom dashboard in vRealize Operations for Horizon that displayed my current cluster capacity metrics in my virtual desktop infrastructure (VDI) environment. This helped provide insight into the current utilization and performance. In the final post of this three-part blog series, I’ve provided instructions on creating a one-click IT command center operations dashboard. Many enterprises tend to centralize their IT command center operations in an effort to coordinate multiple technology focus areas such as network, storage, Microsoft Exchange, etc. and bring them together under one roof. The idea is to be able to see, respond to, and resolve incidents that cause production environment outages that have a wide range of implications. It is also to increase efficiency to speed up response times, and create a centralized view of the overall environment. In a production VDI environment, the onus would then fall on the command center to be able to incorporate VDI as a technology focus area. In this blog I’ll explain how to create a one-click dashboard to focus on certain key stats that are central to the VMware View environment, and help the command center personnel in times of outages.

As I have stated in previous posts, these are examples that can either be replicated in their entirety, or be used as a jumping-off point in an effort to construct a custom dashboard with stats that are most germane to your environment and command center personnel.

Additionally, as I have done in previous posts, I’m going to rely on a combination of “heat map” and “generic scoreboard” widgets. I’m also going to introduce a widget type known as “resources” in this dashboard. In total there should be nine widgets:

  • Four generic scoreboard widgets
  • Three heat map widgets
  • Two resources widgets

The final output should look like this:

AVaneswaran 1

I then want to configure my widgets so the following details are presented:

Heat maps

  • The overall health of my ESXi hosts running full clone VDI workloads
  • The overall health of my ESXi hosts running linked clone VDI workloads
  • The overall health of my Horizon View infrastructure servers. These servers include my Connection Servers, Security Servers, vCenter Server, View Composer server, etc.
  • The number of available virtual machines for linked clone pools. This is an important stat for considering the environment, so you can find out the maximum number of desktops in the linked clone pools.

Generic scoreboard widgets

  • I want to check to see if my Connection Servers are enabled and accepting incoming connections. This particular stat will take on added significance in View environments running a 5+2 Connection Servers replicated ring.
  • The number of concurrent external connections currently accessing the environment.
  • And finally, a multi-purpose widget to provide the following data:
    • The total number of connected concurrent sessions.
    • The total number of overall virtual machines in the infrastructure.
    • The average bandwidth utilization per session. Horizon View desktops can experience anywhere from 150 Kbps–350 Kbps for task and knowledge workers utilizing apps such as browsers, Microsoft Office, and basic productivity apps. This figure increases with high graphics, printing, peripheral device, and audio and video usage. However, if I’m confident the environment is running a fairly uniform set of workloads, this stat is useful for monitoring the entire environment. If the pools are built based on varying use cases with different workload profiles, it might be a good idea to generate this stat on a per-pool or per- use case basis.
    • Outgoing and incoming packet loss on the network vLAN segment running my VDI workloads.
    • Total network utilization on the vLAN segment running VDI workloads.
    • Total bandwidth utilization on the network vLAN segment running VDI workloads.

Resources widgets

  • This widget calculates the average PCoIP round-trip latency in milliseconds. This is one of the most important and oft-monitored stats in a Horizon View environment with centralized infrastructure that also serves end-users accessing the environment from distant locations across the WAN. I want to achieve this result on a per-pool basis, and am only concerned about external connections coming in from WAN locations. In addition, I’m particularly interested in low-bandwidth, high-latency remote sites, but not so much with internal users connected to the corporate network with regulated and guaranteed bandwidth. Finally, I want to configure this first widget for my automated full clone pools.
  • Next, we replicate the aforementioned widget, only this time for automated, linked clone pools.

The widgets can be arranged in the dashboard however you choose.

To start, I’m going to configure a full clone widget to display the health of my ESXi hosts running full clone desktops, and I want to place the heat map widget on the far left side of a three-column dashboard.

AVaneswaran 2

The key here is to filter by the hosts running full clone desktop workloads. This is achievable with a custom resource tag I’ve created in my environment. I’ve demonstrated the technique to create such a resource tag in the first of this three-part blog series. The configured widget should look like this:

AVaneswaran 3

Repeat this procedure for another widget for linked clone desktop pools, and filter by the hosts running linked clone workloads.

AVaneswaran 4

The configured widget will look like this:

AVaneswaran 5

Next, I want to configure the following widget to display the health of my View infrastructure servers, and I want to place this in between the first two widgets along the top portion of the dashboard. It is important to place the infrastructure server resources in custom resource tags so they are filtered by said resources.

AVaneswaran 6

Here is the configured widget:

AVaneswaran 7

Next, a generic scoreboard widget is placed underneath the heat map widget we just configured. This widget will display the number of enabled connection servers that accept incoming connections.

AVaneswaran 8

When complete it will look like this:

AVaneswaran 9

The next step is a generic dashboard that displays just the total number of tunneled sessions through the View Security Server.

AVaneswaran 10

And here is the end result:

AVaneswaran 11

We now want a heat map that displays the number of available virtual machines in the automated linked clone pools. In order to ensure production pools are more or less consistent during peak times, we need a heat map that shows the maximum number of desktops and total sessions.

AVaneswaran 12

Once again, the trick is to filter by a resource tag for your automated linked clone pools; the heat map will look like this:

AVaneswaran 13

Next I want to work on a generic scoreboard that gives me the following details:

–        Total number of current concurrent sessions

–        Total number of overall virtual machines in my environment

–        Workload percentage on the DHCP vLAN, which is serving all VDI desktops IPs

–        A super metric that calculates the average bandwidth utilization in Kbps

–        Outbound and inbound DCHP vLAN packet errors

The widget should be configured like this:

AVaneswaran 14

Super metrics are required to calculate the average bandwidth utilization per session, and the total DHCP vLAN bandwidth utilization. Here is the super metric for calculating the average bandwidth utilization per session.

AVaneswaran 15

We also need a super metric to calculate desktop DHCP vLAN total bandwidth utilization.

AVaneswaran 16

Finally, configure the two resources widgets. The first widget goes on the bottom left of the dashboard, and is configured as follows:

AVaneswaran 17

The end result will appear like this:

AVaneswaran 18

Make sure to filter by the custom resource tag containing only full clone pools. Replicate this process, step-by-step, on the bottom right-hand side of the dashboard, but this time for linked clone pools.

And here is the final dashboard!

AVaneswaran 19

In conclusion, here are a few takeaways from this blog:

  • IT command centers are sometimes challenged with knowing exactly who to assign an issue to, and typically can use more visibility than they can get. In providing this custom dashboard through AD Security Group dashboard sharing, you can help your command center personnel get exactly the kind of visibility into the environment they need to aid them in their decision-making process.
  • The examples provided in this three-part blog series show you the extent to what you can achieve in vRealize Operations for Horizon in a time-efficient manner. Fundamentally, it’s a matter of knowing what data you want to display, and if done correctly―as demonstrated in these blogs―data manipulation becomes extremely easy.

Now, I’ve barely scratched the surface of VMware vRealize Operations Manager capabilities in these blog posts; there is so much more that has not yet been discussed. I just wanted to focus on a set of custom dashboards, where each one is designed to achieve a very specific purpose. The methods detailed in these blog posts only demonstrate one approach – but there are others. These show just some of the ways vRealize Operations Manager can be explored, data can be mined, and ways you can gain a view into the environment.

Anand Vaneswaran is a Senior Technology Consultant with the End User Computing group at VMware. He is an expert in VMware Horizon (with View), VMware ThinApp, VMware vCenter Operations Manager, VMware vCenter Operations Manager for Horizon, and VMware Horizon Workspace. Outside of technology, his hobbies include filmmaking, sports, and traveling.

VDI Current Capacity Details

Anand Vaneswaran

By Anand Vaneswaran

In my previous post, I provided instructions on constructing a high-level “at-a-glance” VDI dashboard in vRealize Operations for Horizon, one that would aid in troubleshooting scenarios. In the second of this three-part blog series, I will be talking about constructing a custom dashboard that will take a holistic view of my vSphere HA clusters that run my VDI workloads in an effort to understand current capacity. The ultimate objective would be to place myself in a better position in not only understanding my current capacity, but I better hope that these stats help me identify trends to be able to help me forecast capacity. In this example, I’m going to try to gain information on the following:

  • Total number of running hosts
  • Total number of running VMs
  • VM-LUN densities
  • Usable RAM capacity (in a N+1 cluster configuration)
  • vCPU to pCPU density (in a N+1 cluster configuration)
  • Total disk space used in percentage.

You can either follow my lead and recreate this dashboard step-by-step, or simply use this as a guide and create a dashboard of your own for the most important capacity metrics you care about. In my environment, I have five (5) clusters comprising of full-clone VDI machines and three (3) clusters comprising of linked-clone VDI machines. I have decided to incorporate eight (8) “Generic Scoreboard” widgets in a two-column custom dashboard. I’m going to populate each of these “Generic Scoreboard” widgets with the relevant stats described above.


Once my widgets have been imported, I will rearrange my dashboard so that the left side of the screen occupies full-clone clusters and the right side of the screen occupies linked-clone clusters. Now, as part of this exercise I determined that I needed to create super metrics to calculate the following metrics:

  • VM-LUN densities
  • Usable RAM capacity (in a N+1 cluster configuration)
  • vCPU to pCPU density (in a N+1 cluster configuration)
  • Total disk space used in percentage

With that being said, let’s begin! The first super metric I will create will be called SM – Cluster LUN Density. I’m going to design my super metric with the following formula:

sum(This Resource:Deployed|Count Distinct VM)/sum(This Resource:Summary|Total Number of Datastores)


In this super metric I will attempt to find out how many VMs reside in my datastores on average. The objective is to make sure I’m abiding by the recommended configuration maximums of allowing a certain number of virtual machines to reside on my VMFS volume.

The next super metric I will create is called SM – Cluster N+1 RAM Usable. I want to calculate the usable RAM in a cluster in an N+1 configuration. The formula is as follows:

(((sum(This Resource:Memory|Usable Memory (KB)/sum(This Resource:Summary/Number of Running Hosts))*.80)*(sum(This Resource:Summary/Number of Running Hosts)-1))/10458576


Okay, so clearly there is a lot going on in this formula. Allow me to try to break it down and explain what is happening under the hood. I’m calculating this stat for an entire cluster. So what I will do is take the usable memory metric (installed) under the Cluster Compute Resource Kind. Then I will divide that number by the total number of running hosts to give me the average usable memory per host. But hang on, there are two caveats here that I need to take into consideration if I want an accurate representation of the true overall usage in my environment:

1)      I don’t think I want my hosts running at more than 80 percent capacity when it
comes to RAM utilization. I always want to leave a little buffer. So my utilization factor will be 80 percent or .8.

2)      I always want to account for the failure of a single host (in some environments, you might want to factor in the failure of two hosts) in my cluster design so that compute capabilities for running VMs are not compromised in the event of a host failure.  I’ll
want to incorporate this N+1 cluster configuration design in my formula.

So, I will take the result of my overall usable, or installed, memory (in KB) for the cluster, divide that by the number of running hosts on said cluster, then multiply that result by the .8 utilization factor to arrive at a number – let’s call it x – this is the amount of real usable memory I have for the cluster. Next, I’m going to take x, then multiply the total number of hosts minus 1, which will give me y. This will take into account my N+1 configuration. Finally I’m going to take y, still in KB, and divide it by (1024×1024) to convert it to GB and get my final result, z.

The next super metric I will create is called SM – Cluster N+1 vCPU to Core Ratio. The formula is as follows:

sum(This Resource:Summary|Number of vCPUs on Powered On VMs)/((sum(This Resource:CPU Usage|Provisioned CPU Cores)/sum(This Resource:Summary|Total Number of Hosts))*(sum(This Resource:Summary|Total Number of Hosts)-1))



This formula is fairly self-explanatory. I’m taking the total space used for that datastore cluster and dividing that by the total capacity of that datastore cluster. This is going to give me a number greater than 0 and less than 1, so I’m going to multiply this number by 100 to give me a percentage output.

Once I have the super metrics I want, I want to attach these super metrics to a package called SM – Cluster SuperMetrics.


The next step would be to tie this package to current Cluster resources as well as Cluster resources that will be discovered in the future. Navigate to Environment > Environment Overview > Resource Kinds > Cluster Compute Resource. Shift-select the resources you want to edit, and click on Edit Resource.


Click the checkbox to enable “Super Metric Package, and from the drop-down select SM – Cluster SuperMetrics.


To ensure that this SuperMetric package is automatically attached to future Clusters that are discovered, navigate to Environment > Configuration > Resource Kind Defaults. Click on Cluster Compute Resource, and on the right pane select SM – Cluster SuperMetrics as the Super Metric Package.


Now that we have created our super metrics and attached the super metric package to the appropriate resources, we are now ready to begin editing our “Generic Scoreboard” widgets. I will tell you how to edit two widgets (one for a full-clone cluster and one for a linked-clone cluster) with the appropriate data and show its output. We will then want to replicate the same procedures to ensure that we are hitting every unique full clone and linked clone cluster. Here is an example of what the widget for a full-clone cluster should look like:


And here’s an example of what a widget for a linked-clone cluster should look like:


Once we replicate the same process and account for all of our clusters, our end-state dashboard should resemble something like this:


And we are done. A few takeaways from this lesson:

  • We delved into the concept of super metrics in this tutorial. Super metrics are awesome resources that allow you the ability to manipulate metrics and display just the data you want to.  In our examples we created some fairly involving formulas, but a very simple example for why a super metric can be particularly useful would be memory. vRealize Operations Manager displays memory metrics in KB, but how do we get it to display in GB? Super metrics are your solution here.
  • Obviously, every environment is configured differently and therefore behaves differently, so you will want to tailor the dashboards and widgets according to your environment needs, but at the very least the above examples can be a good starting point to build your own widgets/dashboards.

In my next tutorial, I will walk through the steps for creating a high-level “at-a-glance” VDI dashboard that your operations command center team can monitor. With most organizations, IT issues are categorized on a severity basis that are then assigned to the appropriate parties by a central team that runs point on issue resolution by coordinating with different departments.  What happens if a Severity 1 issue happens to afflict your VDI environment? How are these folks supposed to know what to look for before placing that phone call to you? This upcoming dashboard will make it very easy. Stay tuned!!

Anand Vaneswaran is a Senior Technology Consultant with the End User Computing group at VMware. He is an expert in VMware Horizon (with View), VMware ThinApp, VMware vCenter Operations Manager, VMware vCenter Operations Manager for Horizon, and VMware Horizon Workspace. Outside of technology, his hobbies include filmmaking, sports, and traveling.

How-to: Create a vCOPS for View At-A-Glance High-Level VDI Dashboard

By Anand Vaneswaran

Anand VaneswaranVDI environments are complex because there are so many moving parts. As a result, there is a real need for architects, admins, managers, or operations professionals to see a high-level breakdown of the most important stats—stats that are especially important when we receive that escalated phone call about an issue that could potentially affect a large number of users.

In this first post of a three-part blog series, I’ll provide details about a high-level VDI custom dashboard in vCenter Operations Manager for View that was renamed vCenter Operations Manager for Horizon when Horizon 6.0 was released. (I’ll also assume you’re all well versed in VDI.)

To start, some of the stats or information I deeply care about in my test environment are as follows:


Download the Step-by-Step

  1. Viewing the number of tunneled connections that are coming in through my security servers.
  2. Viewing the overall health of my connection servers.
  3. Keeping tabs on the resources (CPU, RAM, Disk) of my most critical VDI servers (Connection and security servers, vCenter server, View Composer, etc.).
  4. Monitoring resources (CPU and RAM) on my ESXi hosts running VDI workloads. (I will go one step further and break it down into hosts for my full clone pools, and linked clone pools.)
  5. Finally, looking at my LUNs and keep tabs on a number of metrics, but most importantly VM-to-LUN densities.

When compiled together, the information listed above comprises the end-state dashboard I want to achieve. The dashboard will have two generic scoreboard widgets on either side to depict the number of user connections through my security servers and the workload percentage of my connection servers. In addition, two Health-Workload scoreboard widgets on either side will depict the health of security and connection servers. The scoreboard is set up so that when you click a particular object in the Generic Scoreboard widget, the scoreboard is automatically populated with the health of that relevant object.

Finally, I want four Heat Map widgets: one to provide information about critical server resources, two to give me updates on ESXi host resources, and one to give me details about VM-to-LUN densities. I chose to populate my dashboard with an assortment of these built-in Generic Scoreboard, Health-Workload, and Heat Map widgets because I find that these types of widgets provide the most efficient means of graphically conveying the state of an environment, in essence, a point-in-time snapshot of your environment at any given time.

Now, if you’re ready to build, get detailed, step-by-step instructions for creating the dashboard.

Anand Vaneswaran is a senior technology consultant with the End User Computing group at VMware. He is an expert in VMware Horizon (with View), VMware ThinApp, VMware vCenter Operations Manager, VMware vCenter Operations Manager for Horizon, and VMware Horizon Workspace. Outside of technology, his hobbies include filmmaking, sports, and traveling.