hi,
how do I modify the below to show cluster name as well
$clusters = get-cluster
foreach ($clustername in $clusters) {
$days = 30
$start = (Get-Date).AddDays(- $days)
$stat = "cpu.usage.average","mem.usage.average","mem.vmmemctl.average",
"mem.shared.average","mem.active.average","mem.swapused.average"
$cluster = get-cluster -name $clustername
$esx = Get-VMHost -Location $cluster
Get-Stat -Entity $esx -Start $start -Stat $stat |
Group-Object -Property {$_.Entity.Name} |
Select @{N="Cluster";E={$cluster.Name}},
@{N="VMHost";E={$_.Name}},
@{N="Total memory";E={$_.Group[0].Entity.MemoryTotalGB}},
@{N="Total CPU";E={$_.Group[0].Entity.NumCpu}},
@{N="Average memory used";E={$_.Group | Where {$_.MetricId -eq "mem.usage.average"} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}},
@{N="Average CPU used";E={$_.Group | Where {$_.MetricId -eq "cpu.usage.average" -and $_.Instance -eq ""} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}},
@{N="Average memory ballooning";E={$_.Group | Where {$_.MetricId -eq "mem.vmmemctl.average"} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}},
@{N="Average shared memory";E={$_.Group | Where {$_.MetricId -eq "mem.shared.average"} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}},
@{N="Average active used";E={$_.Group | Where {$_.MetricId -eq "mem.active.average"} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}},
@{N="Average memory swapped";E={$_.Group | Where {$_.MetricId -eq "mem.swapused.average"} |
Measure-Object -Property Value -Average | Select -ExpandProperty Average}} | export-csv "c:\scripts\clusterreport.csv" -notypeInformation
}