I have a Hyper-V cluster on two physical machines. I have a small pile of VMs running on that cluster of varying operating systems. I am trying to collect operating metrics for the VMs so that we can have some visibility into what is happening in there.
The things I am interested in are things like disk IO and CPU usage. Ideally I would be able to monitor things like memory usage and swapping, CPU states (IO-wait verses working) and the like.
Traditionally I have installed SNMP clients on the VMs and monitored each VM as if it was a physical computer. However I have been reading that one shouldn't monitor VMs directly, one should try to do it through the hypervisor host instead.
Is there a better way to collect running metrics from my VMs on this cluster?