Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 219257

Vm peak stats

$
0
0

I tried to run Kunal script

 

 

 

$Result = @() 

$metrics = "cpu.usage.average", "mem.usage.average", "disk.usage.average", "net.usage.average" 

$vms = Get-VMHost | Get-VM | Where-Object {$_.PowerState -eq “PoweredOn”} 

 

#Define how long back you want to go and check the peak time and value.

$start = (Get-Date).AddDays(-7) 

$finish = (Get-Date).AddDays(-6)

 

Foreach ($vm in $vms) { 

   $AllStats = Get-Stat -Entity $vm -Stat $metrics -MaxSamples ([int]::MaxValue) -Start $start -Finish $finish -IntervalMins 5  

 

   #vCPU calculations  

   $CPUStats = $AllStats | Where-Object {$_.Metricid -eq "cpu.usage.average"} | Measure-Object -Property Value -Maximum | Select -ExpandProperty Maximum 

   $RoundCPUStats = [math]::Round($CPUStats) 

   $CPUStatsDate = $AllStats | Where-Object {$_.Metricid -eq "cpu.usage.average" -and $_.value -eq $CPUStats} | Select-Object -ExpandProperty Timestamp 

 

   #Memory calculations  

   $MemStats = $AllStats | Where-Object {$_.Metricid -eq "mem.usage.average"} | Measure-Object -Property Value -Maximum | Select -ExpandProperty Maximum 

   $RoundMemStats = [math]::Round($MemStats) 

   $MemStatsDate = $AllStats | Where-Object {$_.Metricid -eq "mem.usage.average" -and $_.value -eq $MemStats} | Select-Object -ExpandProperty Timestamp 

 

   #Disk calculations  

   $DiskStats = $AllStats | Where-Object {$_.Metricid -eq "disk.usage.average"} | Measure-Object -Property Value -Maximum | Select -ExpandProperty Maximum 

   $RoundDiskStats = [math]::Round($DiskStats) 

   $DiskStatsDate = $AllStats | Where-Object {$_.Metricid -eq "disk.usage.average" -and $_.value -eq $DiskStats} | Select-Object -ExpandProperty Timestamp 

 

   #Network calculations  

   $NetStats = $AllStats | Where-Object {$_.Metricid -eq "net.usage.average"} | Measure-Object -Property Value -Maximum | Select -ExpandProperty Maximum 

   $RoundNetStats = [math]::Round($NetStats) 

   $NetStatsDate = $AllStats | Where-Object {$_.Metricid -eq "net.usage.average" -and $_.value -eq $NetStats} | Select-Object -ExpandProperty Timestamp 

 

   $Obj = New-Object PSObject 

   $Obj | Add-Member -MemberType NoteProperty -Name "VMName" -Value $vm.Name 

   $Obj | Add-Member -MemberType NoteProperty -Name "Date_MaxUsage_vCPU" -Value $CPUStatsDate[0]    

   $Obj | Add-Member -MemberType NoteProperty -Name "vCPU_Usage_Max(%)" -Value $RoundCPUStats[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Date_MaxUsage_Mem" -Value $MemStatsDate[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Mem_Usage_Max(%)" -Value $RoundMemStats[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Date_MaxUsage_Disk" -Value $DiskStatsDate[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Disk_Usage_Max(KBps)" -Value $RoundDiskStats[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Date_MaxUsage_Net" -Value $NetStatsDate[0] 

   $Obj | Add-Member -MemberType NoteProperty -Name "Net_Usage_Max(KBps)" -Value $RoundNetStats[0] 

   $result += $Obj  

 

$result

 

 

 

 

 

but i got err

 

Cannot index into a null array.

At line:22 char:4

+    $Obj | Add-Member -MemberType NoteProperty -Name "vCPU_Usage_Max(%)" -Value $ ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException

    + FullyQualifiedErrorId : NullArray

 

Cannot index into a null array.

At line:23 char:4

+    $Obj | Add-Member -MemberType NoteProperty -Name "Date_MaxUsage_Mem" -Value $ ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException

    + FullyQualifiedErrorId : NullArray

 

 

 

Any suggestion sPlease


Viewing all articles
Browse latest Browse all 219257

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>