Tenant Utilization Report

A common request from Tenant of IaaS business is Utilization Report. If a Tenant or Customer has 100 VMs, she wants to see the summary of the VMs utilization. You need to sum up the utilization amount.

Be careful not to bill based on Utilization. A tenant in SDDC or Private Cloud looks at things from different view. She does not care about the infrastructure as it’s a service to her. From a business viewpoint, she pays either based on Utilization or Configuration.

I encourage based on Configuration as Utilization can lead to argument.

  • She may question why you are charging her more when her application is hardly doing any business transactions. You end up digging into the VM Utilization even though you have no access to the VM, nor understand the application behaviour.
  • Utilization varies per minute. It can even spike within a minute. Do  you bill per second, minute, hour, day, month…? Where do you draw the line for fair charging without spending a lot of money calculating the bill? 1 month has 30 days or 720 hours. If you do hourly charge, you perform the calculation 720x in a month.

Ok, enough about money. Money can certainly give headache 🙂 Let’s talk something technical instead 🙂

We will discuss how to report Total VM utilization. This is a common requirements. Money aside, a Tenant Management certainly wants to know how much work is done. That’s a fair request.

High Level Requirement: Show Total Utilization across all VMs every month.

To present a monthly chart that strikes a balance between accuracy and usability, you need to roll up the data. 1 month has 720 hours. A data at 5-minute average will be way too details and unreadable. Hourly is in fact relatively very accurate. On the other hand, averaging at hourly means a 10 minute spike will not appear. In the example below, the 2 peak will be lost when you average all the numbers.

roll up hourly not daily

When it comes to utilization, Peak is important. So what you should do is roll the 5-minute peak into each hour.

Overall Steps

The steps are not straightforward, so I’ll give a summary first.

  1. Create a group per Tenant
    1. The group simply has all the VMs of 1 tenant. If you have a proper naming convention, you can create a dynamic group.  Any VM that you add/remove from the group will automatically be included/excluded from the calculation.
  2. Create summary values
    1. The value you want are:
      1. The total CPU Utilization for all VMs.
      2. The total RAM Utilization for all VMs
    2. Create super metric for each.
      • For CPU, you need to take into account the number of vCPU. A 16-vCPU VM running at 10% consumes more CPU than a 1-vCPU VM running at 100%.
      • Since what you want is a %, not GHz, you need to divide with the Total Capacity.
  3. Create a View widget
    1. The View widget allows data transformation. The metric chart does not allow that.
    2. Roll up the data every hour. This makes the chart readable.
    3. Default the View to monthly data
  4. Create a Dashboard
    1. Ideally, you want this to be a report so it can be automatically sent for each Tenant.

Detail Steps

To create a group, use the screenshot below as your guide. You can mix the dynamic members and static members. Create 1 per tenant.


Once you created the groups, you end up with something like this. You can park the group under any group type. It does not have to be Environment as shown below. You should create a group type called Tenant.


Create the super metrics, using the screenshot as a guide. You should create the following:

  1. Sum of all VM vCPU. The unit is no of vCPU.
  2. Sum of all VM CPU Demand. The unit is MHz
  3. Sum of all VM CPU Configured. The unit is MHz.
  4. Sum of all VM CPU Demand / Sum of all VM CPU Configured. This gets you a %, which is what you want to report.


The last super metric is derived from super metric no 3 and 4. I’ve shown the formula below.


When a Tenant has a lot of VM, the sum can be a big number. If you want to assure yourself that you got the right sum, you can use the View widget to show you the expected total. As you can see from the following screenshot, it can do a summation.


Now that you have the super metric, time to plot into a chart. Here is where you do the roll up in the View widget.


The roll up smoothens the chart, which makes it easier to read. The example below shows how an hourly roll up makes the chart more readable. I could only show 1 day data, not 1 month, as it’s too dense without the roll up.


Once the line chart is done, it’s a matter of putting into a dashboard. There are many guides in creating dashboards, so I will just provide a simple screenshot below.


Hope you find it useful!

Before you buy that ultra light notebook

I bought a notebook as the one issued by IT does not need my need anymore. Even in the same role, your need can change. Since it’s my own money, I spent some time before buying. I waited for Intel Skylake to be available and 256 GB SSD price to drop.

Summary: It's been worth it!

If you want to know details, read on….

First, there weren’t many choice of light laptop below US$ 600 in April 2016. If you can, wait 6-12 months as the market is commanding premium now. I think situation will change dramatically next year.

My requirements:

  • Weight near 1 kg. I ended up at 1.2 kg, which is still okay but I cannot put a case. A case adds weight 🙂
  • 13 – 14″ screen. 12″ is too small for me as I deal with long documents, spreadsheet, diagram, slides, etc.
  • Full HD. If it is not, the pixels can be seen. Full HD makes it sharper.
  • Small size. A thin bezel is a must as it’s hard to work in cattle class when passenger in front recline.
  • 256 GB SSD. 128 GB is too small.
  • 8 GB RAM.
  • $600. Yes, a low price. This is because I hope to change every 2 years, not 4 years. So the cost is $300 per year for me.
  • Fast. This is relative. I’m just using Office, not heavy duty. Intel Core m3 at 0.9 GHz turned out to be super fast for my need. Yup, just a low end CPU works wonder when complemented by SSD.
  • Fanless. I don’t like it hot nor noisy. A quiet place helps in concentrating
  • Windows 10 or Mac. I actually don’t find major difference in terms of productivity. In fact, Windows 7 suits me better.

BTW, if you need a smaller and cheaper one, here is a review by Ariel.

What I could not find at $600 price point:

  • Touch Screen. I could not even find it at $800 price point.
  • Hybrid mode. I love hybrid like Microsoft Surface and Lenovo Yoga. I think within 2 years, all notebook will be hybrid.
  • 512 GB SSD.
  • Thin bezel, like Dell. I believe this will become more mainstream in 2016.

After some search, I found that Asus UX305CA is the best for the above requirement. There are many reviews on it, so I will just add complementary details.

What I find good:

  • Fast.
  • Quiet
  • Light. My Dell Latitude E7440 laptop is less than 2 kg. It’s amazing a few hundreds grams make a whole world of a difference.
  • Thin. My Dell is just a few mm thicker. I’m surprised a few mm makes a huge difference.
  • Battery last long enough.

What I find bad

  • No wired network. Not even with adapter. The wireless at office is not on Intranet network.
  • The lid is not easy to open, as it’s rather thin. It’s a surprise since Asus has this model for a while now. It makes me wonder if Asus even test it.
  • Surface is slippery. It’s a solid build with brushed metal. Asus should have carved it a little deeper.
  • Screen cannot be open 180 degree. In fact, it’s only 135%.
  • It uses micro HDMI, not mini HDMI. Did not come with adapter for projector.
  • No protection from minor dent. The 4 rubber buttons at the base barely protrude. Asus should provide larger and more buttons. I think a skin cover will fix it, although I have not tried one.
  • Confusing models. Asus produces many UX305 models, and they are not the same! As a result, it’s hard to buy case or skin as they don’t fit.
  • It came with outdated softwares. Lots of Windows etc updates have to be done as it has last year Windows.
  • Windows ecosystem. Be careful in updating drivers. I updated the Intel HD Graphic adapter to the latest (not the beta) from Intel.com. Apparently it resulted in black screen from sleeping! I had to get the the driver from Asus, which is several versions older.
  • Windows 10 settings assumed touch screen. Some can be easily configured, others you have to live with it. There is no Recent Document in Windows 10, and you have to get 3rd party.

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!