[ZBX-10979] vmware.vm.cpu.ready wrong description Created: 2016 Jul 08  Updated: 2018 Feb 23  Resolved: 2016 Dec 08

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Server (S)
Affects Version/s: 3.0.3
Fix Version/s: 3.0.7rc1, 3.2.3rc1, 3.4.0alpha1

Type: Incident report Priority: Minor
Reporter: Valentin Weber Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: calculation, documentation, units, vmware
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Server 3.0.3 on CentOS 7.2.
VMware ESXi 5.5


Attachments: PNG File picture_1.png    
Issue Links:
Duplicate

 Description   

The VMware check with key "vmware.vm.cpu.ready" is described in Zabbix documentation 3.0 as "Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU."
This is not the case, the return values are actually milliseconds and not percentage.

Derivation:
The key I use is vmware.vm.cpu.ready[{$URL},"UUIDofVM"] to monitor %CPU ready on a VM.
The raw values I receive seem to correlate with the values I see in ESXi console, but the unit of measurment is not the same (see picture_1.png in attachment).

This of course is a huge difference, if I calculate the CPU ready time percentage on the base of actual values from ESX console, I get:
(76 / (20 seconds * 1000)) * 100 = 0.38% CPU Ready
instead of
~76% "%CPU ready" I'd get if I took percent instead of ms as a unit of measurment.

I'd recommend to change the calculation of the item with the formula:
(CPU summation value / (<Chart Interval in Seconds> * 1000)) * 100 = % CPU ready
more info: http://anthonyrhook.com/vsphere-cpu-ready-time/

or state the unit of measurment as milliseconds in the documentation and not as percent.

Thanks and br,
Valentin



 Comments   
Comment by whosgonna [ 2016 Nov 23 ]

I would advocate at correcting the documentation to indicate that this is "Time that the virtual machine was ready, but could not get scheduled to run on the physical CPU during last measurement interval. CPU ready time is dependent on the number of virtual machines on the host and their CPU loads." as defined here: https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/cpu_counters.html. It appears that this is taken as the "Real Time" value (that is to say, the number of milliseconds of ready time over the last 20 seconds), and if this is correct, it might also be nice to note that in order to get ready percentage for an item, use a custom multiplier of 0.005

Comment by Andris Zeila [ 2016 Dec 01 ]

We decided change the calculation formula. If somebody wants to get the value in milliseconds - vmware.vm.perfcounter key can be used.

After further discussion was decided to leave the item value calucaltion as it is and change item units/description/documentation.

Comment by Andris Zeila [ 2016 Dec 01 ]

Fixed in development branch svn://svn.zabbix.com/branches/dev/ZBX-10979

Comment by Andris Zeila [ 2016 Dec 02 ]

Item units/description changed in r64165

Comment by dimir [ 2016 Dec 06 ]

Tested.

Comment by Andris Zeila [ 2016 Dec 08 ]

Released in:

  • pre-3.0.7rc1 r64271
  • pre-3.2.3rc1 r64272
  • pre-3.3.0 r64273
Comment by Andris Zeila [ 2016 Dec 08 ]

(1) [D] Uploaded 3.0.7 and 3.2.3 VMware guest templates and updated corresponding pages:

sasha CLOSED

Comment by Metodi Davidović [ 2018 Feb 21 ]

Templates in 3.2.3 were updated, actual collected value is indeed in milliseconds, but Zabbix 3.4 documentation at:
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/simple_checks/vmware_keys
still contains wrong explanation for this item as "Percentage of time that the virtual machine was ready...".

Comment by Oleksii Zagorskyi [ 2018 Feb 21 ]

Take a look martins-v above please.

Comment by Martins Valkovskis [ 2018 Feb 21 ]

Thanks, the description has been fixed.

Generated at Sat Apr 19 08:02:03 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.