PowerCLI:度量计数器“cpu.usagemhz.maximum”不存在

时间:2014-06-16 17:28:30

标签: powershell vmware vsphere powercli

我试图从特定主机上的每个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"
    }
}

2 个答案:

答案 0 :(得分:1)

这个旧的documentation表示cpu.usagemhz.max在统计级别4中可用。@ user3290553,如果已经改变为5.5,请随时解释您是如何获得该信息的。

如果有任何帮助,可以在相关问题here上找到一些问题排查记录。

编辑 - 这里是5.5 reference。 Level级别中的(4)似乎表示cpu.usagemhz.max在统计级别4中可用。要检查thick / C#/非Web Web客户端中的统计级别,请在vCenter Server Settings>下查看。统计。

答案 1 :(得分:0)

问题似乎是我们只运行vSphere 5.0,但.maximum功能在5.5中可用。