我試圖從特定主機上的每個虛擬機中提取各種統計信息。一切正常,除了$maxcpu
部分....我是一個PS noob,所以我只是試圖建模我的風格拉的其他統計數據,但將CPU計數器更改爲.maximum
而不是.average
。通過我的實驗,我可以在CSV中獲得一個空白條目,或者它崩潰並給出以下錯誤:PowerCLI:公制計數器「cpu.usagemhz.maximum」不存在
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"
}
}
啊,是的,對不起,我一直在看錯誤的文檔或犯了一個錯誤。所以,我檢查了統計級別,並且我們只在每個地方使用'1',因此我們缺少所有高級統計信息,例如'cpu.usagemhz.maximum' – user3290553