Many a times administrator face a situation where they have two different perspectives to look at their infrastructure – traditional way to look at performance charts (from vCenter) and another is vROps performance reporting. But sometimes both of these approaches contradict with each other in terms of its various values. This happens mostly while understanding vCPU/vRAM trends of virtual machines. In recent past I come across with one such situation and while digging down I found some co-relation between vCenter performance charts and vROps reports and which report templates can help solving this problem.
It starts with creating a report go to Home – Reports – click + to create new report
Give a user friendly name to the report and a short description to understand the purpose of this report
Under Data Type select these two reports: (i) Host CPU and Memory Workload Summary (ii) Virtual Machine CPU and Memory Workload Summary
The first type of data type will show resource available on ESXi host and the later one will describe out if that how much is the consumption on per virtual machines level.
Select prefer format for this report – I choose .pdf because it makes easy to share report to customer
If required select appropriate Cover Page / Table of Content to this report – useful if this report is to be shared with management, otherwise this is optional. Click on Save button to create this report template
Under Reports search recently created report (with name) select this report template and assign appropriate vSphere object to this report. In this case I’ll be applying it to ProdCluster to get Host/vm resource summary
Once the report is completed it can be found under Generated Reports tab and selecting it will save this report locally on the system. It will look like as shown in below screenshot. As we can see under Host CPU and Memory Workload Summary (host names hidden purposefully) current workload provisioned on the ESXi hosts and percentage of demand shown on it. This gives an understanding upto which extent the host resources are being utilized and if there are any chances where virtual machine demand is crossing its usage
Now in second section of this report which is about Virtual Machine CPU and Memory Workload Summary (vm names hidden purposefully) let’s consider example of psvcenter – this is vCenter virtual machine and considering it will have heavy usage let’s analyze it’s resource parameters. From this report things which gets highlighted are:
Out of 16 GHz CPU Provisioned to this vm only 672.85 MHz is being utilized as Demand
If we calculate 672.85 ⁄ 16000 x 100 =4.2% (roughly 4%) this is the current CPU workload on this virtual machine
*Please note we are not considering vCPU count for this vm, but the clock speed
Now from vCenter side; if we see data from the below graph roughly the average CPU utilization MHz value lies between 670 – 710 MHz with few spikes of high consumption. The percentage utilization value i.e. 4% shows the average utilization of vCPU resources (past 7 days) for this virtual machine.
One thing to notice is that there may be a situation when vCPU might have spiked to large value but when calculating past 7 days utilization vROps as well as vCenter will only show the average value for that metrics. If this report is run for an individual day different values may be seen.
Now comes Memory utilization – same rule applies here as well. This vm has been assigned 16 GB of vRAM out of which demand is at 1.84 GB Applying the same formula here:
1.84 / 16 x 100 = 11.5% (roughly 12%) gives us the percentage of workload contributed by this virtual machine to the underlying ESXi host
*Please note that the memory performance seen on vCenter graphs for any virtual machine is average value of the sample period. Which may not give you a holistic view of the actual utilization of that virtual machine.
In above report there is memory consumed value (i.e. 13.73 GB) this is the total usable memory available to this virtual machine (psvcenter). I have pasted memory stats of this virtual machine below where it is clearly visible under Usage segment. This is total amount of memory which is claimed by the guest operating system at given point in time. So if we run free -m command on guest operating system we will see approximately 13 GB of memory being Used, however the demand is still at 1.84 GB Now if we apply same formula here on this value:
13.73 / 16 x 100 = 85.81 (roughly 86%) which is the percentage of resources which from hypervisor level has been allocated to the virtual machines under which it is running its operation.
Reclaimable resources in virtual machine are very debatable topics hence mapping the correct metrics to the problem becomes necessary. I would recommend to check Memory Counter page from VMWare, it will give a broad understanding which resource counter serves what purpose.
And now the million dollar question, which data shall I trust..??
Well it all depends upon the requirement. As we discussed above vCenter performance charts only shows the data for a particular sample of time. However vROps Analytical engine processes the data and then represents it to the administrator. Also with the evolution of this product (vROps) it has become more of a Forensic tool than Monitoring engine. I would recommend you to check out Monitoring-Vs-Forensic blog by Sajal Debnath. I’m sure after reading it your opinion about vROps monitoring capability will change 🙂
With this I end this blog… I hope it helps… till then Happy Reading….