This is a tricky one. On one hand easy to execute on the other hard to display.
The easy part (reactive)
- create a metric configuration for the cpu usage for the max cores you have in one VM.
- create a new dashboard with an object list with all your Vms
- add in a metric chart and add in the metric configuration into it
- do the interactions so the object list feeds the chart
This will do what you want and give the ability to search for a vm. The down side is if it is a 2 vcpu VM wit will see a lot of no data for the vcpus that dont exist. but it will give you a quick way to look at a problematic vm. Main problem is you are waiting for a performance problem to be reported before you can use.
This is where you get to the hard part (proactive)
How do you monitor and alert if not all cores are being used. This i have not tried but you may be able to use a super metric and do if statements but not sure if it would work but something like
if vcpu 2 is equal to or less than (vcpu 1 - 100MHz) or if vcpu 3 is equal to or less than (vcpu 1 - 100MHz) or ..... then "unbalanced" else "balanced".
You may be able to do heat maps but how do you set the colours