2014-06-16 22 views
1

我試圖從特定主機上的每個虛擬機中提取各種統計信息。一切正常,除了$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

這個舊的documentation表示cpu.usagemhz.max在統計級別4中可用。@ user3290553,如果它隨5.5改變,隨時解釋你是如何通過這些信息來解釋的。

爲了萬一有任何幫助,在相關問題here上有一些故障排除記錄。

編輯 - 這是5.5 reference。級別列中的(4)似乎意味着cpu.usagemhz.max可用於統計級別4.要查看厚/ C#/非Web VC客戶端中的統計級別,請查看vCenter Server設置>統計信息。

+0

啊,是的,對不起,我一直在看錯誤的文檔或犯了一個錯誤。所以,我檢查了統計級別,並且我們只在每個地方使用'1',因此我們缺少所有高級統計信息,例如'cpu.usagemhz.maximum' – user3290553

0

的問題似乎是,我們只運行的vSphere 5.0,但.maximum功能在5.5可用。

+0

沒關係,我似乎犯了一個錯誤,請改爲看看帖子 – user3290553