VMware Cloud Community
brettcarr1
Enthusiast
Enthusiast

Finding a VM Using IO from a Datastore

I frequently become aware of high IO on a specific datastore in our Environment, I would like to know if anyone has an easy way in Vcops to tell which VM on that datastore is consuming the most IO.

Currently I make a list of the VM's on the specific datastore and then cycle through them in the VCops interface looking for the one that is consuming IO.

What I'd really like to see is something that instantly shows me a list of Top X IOps users on this datastore, is this possible, how do other people approach this problem?

Thanks

Brett

4 Replies
beckham007fifa

Dont you've access to Vcenter/ web client? You can see them from Vcenter as well.

Regards, ABFS
0 Kudos
gradinka
VMware Employee
VMware Employee

well, there are suitable Heatmaps for vSphere UI and out-of-the-box dashboards for CustomUI.

Or you can create/configure one on your own. Heatmap or TopN widget are very good for that (if you have the CustomUI licensed)

0 Kudos
mark_j
Virtuoso
Virtuoso

There's a solution for this, which I deliver to customers whenever the opportunity arises.

The solution involves a starting Top-N widget and multiple subsequent Resource widgets.

You start with a Top-N widget.. let's say you'll make it a list of top IOPs datastores.

Create an interaction that passes that "selected resource" to a Resource widget (RG-A) via an interaction.

That resource widget we're going to configure to show "parent" and set a tag filter of virtual machine.

When you click on the datastore, the paired resource widget will show the VMs on that datastore.

Now here's the good part.. add custom columns to the resource widget. Add virtual machine > aggregate > commands per second.

Now you have a workflow to interrogate a datastore to see which VMs are on it, as well as what the total IOPs attributes are for them.

Now we can go a step further.

We have a workflow to end up with a VM, but the custom columns are only realtime. What else would be cool than a res interaction file on a metric graph or a spark-line to see the 'historic' consumption of these VMs.. simply add the widget, interaction with selected resources, config the res interaction, and you're good to go.

Very useful stuff.. when you start pulling in 3rd party adapters it can be like witnessing a double rainbow doing these types of drill-downs in to related resources.

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
MKguy
Virtuoso
Virtuoso

IMO unfortunately vCOPS is pretty much a klutz when it comes to actually useful things like this.

You are probably better off with some PowerCLI snippets in this case:

For a realtime view:

Get-Datastore DataStore1Name | Get-VM | Sort |

Select @{N="VM Name"; E={$_.Name}},

@{N="AvgReadIOPS"; E={[math]::round((Get-Stat $_ -stat "datastore.numberReadAveraged.average" -RealTime | Select -Expand Value | measure -average).Average, 1)}},

@{N="AvgWriteIOPS"; E={[math]::round((Get-Stat $_ -stat "datastore.numberWriteAveraged.average" -RealTime | Select -Expand Value | measure -average).Average, 1)}} |

Sort AvgWriteIOPS -Desc |

Format-Table -autosize


Or for a longer period of time in the past (might need custom vCenter collection interval):

$DaysBack = -1

Get-Datastore DataStore1Name | Get-VM | Sort |

Select @{N="VM Name"; E={$_.Name}},

@{N="AvgReadIOPS"; E={[math]::round((Get-Stat $_ -stat "datastore.numberReadAveraged.average" -Start (Get-Date).AddDays($DaysBack) -Finish (Get-Date) | Select -Expand Value | measure -average).Average, 1)}},

@{N="AvgWriteIOPS"; E={[math]::round((Get-Stat $_ -stat "datastore.numberWriteAveraged.average" -Start (Get-Date).AddDays($DaysBack) -Finish (Get-Date) | Select -Expand Value | measure -average).Average, 1)}} |

Sort AvgWriteIOPS -Desc |

Format-Table -autosize


This will produce output like:

VM Name             AvgReadIOPS          AvgWriteIOPS
-------             -----------                   ------------
someVM1           0,2      9,5
someVM2               0,3     
8,8
someVM3          1,5     
3,2
[.......]
-- http://alpacapowered.wordpress.com