How to obtain details of current IOPs for an ESX Server

iopsvmware-esx

We have a number of ESX Servers connected to various iSCSI Targets and I want to do a consolidation exercise so want to get an idea of the current level of IOPS each of our servers uses.

I tried running

$start = Get-Date "2010-07-25 10:00:00"
$finish = Get-Date "2010-07-26 10:00:00"
$esx = Get-VMHost <ESX-hostname>
get-stat -entity $esx -stat disk.numberRead.summation -start $start -finish $finish

But get the error

The metric counter "disk.numberread.summation" doesn't exist for entity "esx1.zoo.lan"

despite the documentation implying that the counter does exist.

Anyone done anything similar. Even if I can get the data on a per-VM or even per-LUN bassis that would be fine as I could just sum it up in a spreadsheet

Best Answer

if you are running ESX, and not ESXi, you can ssh to the ESX host and run

# esxtop

Press 'u' to get to the storage view, and 'v' to get to the VM view.

Esxtop bible is here: http://communities.vmware.com/docs/DOC-9279

How to log esxtop output is here: http://www.b3rg.nl/blog/blog-it/performance-logging-on-esx-using-esxtop.html