特定のホスト上の各 VM からさまざまな統計情報を取得しようとしています。一部を除いてすべてが機能し$maxcpu
ます....私はPS初心者なので、スタイルごとに引っ張った他の統計からモデル化しようとしましたが、CPUカウンター.maximum
を.average
. 私の実験では、CSV に空白のエントリが表示されるか、クラッシュして次のエラーが発生します。
The metric counter "cpu.usagemhz.maximum" doesn't exist for entity "XXXX"
.
foreach ($vmhost in $hosts) {
$vms = Get-VM -Location $vmhost
$vmHost | echo
foreach ($vm in $vms) {
" " + $vm | echo
$avgcpu = @{N="Cpu.UsageMhz.Average";E={[Math]::Round((($_ |Get-Stat -Stat cpu.usagemhz.average -Start (Get-Date).AddDays(-7) | Measure-Object Value -Average).Average),2)}}
$maxcpu = @{N="Cpu.UsageMhz.Maximum";E={[Math]::Round((($_ |Get-Stat -Stat cpu.usagemhz.maximum -Start (Get-Date).AddDays(-7) | Measure-Object Value -Maximum).Maximum),2)}}
$avgmem = @{N="Mem.Consumed.Average";E={[Math]::Round((($_ |Get-Stat -Stat mem.consumed.average -Start (Get-Date).AddDays(-7) | Measure-Object Value -Average).Average),2)/1000}}
$vm | Select Host, Name, NumCpu, $avgcpu, $maxcpu, MemoryMB, $avgmem | Export-Csv -Append "somewhere\csv.csv"
}
}