정기점검 등이나 호스트 성능 정보를 파악할 때 일일히 파악하기에는 애로사항이 있기에 아래와 같이 성능 정보를 추출할 수 있습니다.
아래 예제는 한달간 각 호스트별로 성능정보를 추출하여, MAX, MIN, AVG 만 출력한 스크립트입니다.
$allhosts = @()
$hosts = Get-VMHost
foreach($vmHost in $hosts){
$hoststat = "" | Select HostName, MemMax100, MemAvg100, MemMin100, CPUMax100, CPUAvg100, CPUMin100, MemMax, MemAvg, MemMin, CPUMax, CPUAvg, CPUMin
$hoststat.HostName = $vmHost.name
$statcpu100 = Get-Stat -Entity ($vmHost)-start (get-date).AddDays(-30) -Finish (Get-Date)-MaxSamples 10000 -stat cpu.usage.average
$statmem100 = Get-Stat -Entity ($vmHost)-start (get-date).AddDays(-30) -Finish (Get-Date)-MaxSamples 10000 -stat mem.usage.average
$statcpu = Get-Stat -Entity ($vmHost)-start (get-date).AddDays(-30) -Finish (Get-Date)-MaxSamples 10000 -stat cpu.usagemhz.average
$statmem = Get-Stat -Entity ($vmHost)-start (get-date).AddDays(-30) -Finish (Get-Date)-MaxSamples 10000 -stat mem.consumed.average
$cpu100 = $statcpu100 | Measure-Object -Property value -Average -Maximum -Minimum
$mem100 = $statmem100 | Measure-Object -Property value -Average -Maximum -Minimum
$cpu = $statcpu | Measure-Object -Property value -Average -Maximum -Minimum
$mem = $statmem | Measure-Object -Property value -Average -Maximum -Minimum
$hoststat.CPUMax100 = $cpu100.Maximum
$hoststat.CPUAvg100 = $cpu100.Average
$hoststat.CPUMin100 = $cpu100.Minimum
$hoststat.MemMax100 = $mem100.Maximum
$hoststat.MemAvg100 = $mem100.Average
$hoststat.MemMin100 = $mem100.Minimum
$hoststat.CPUMax = $cpu.Maximum
$hoststat.CPUAvg = $cpu.Average
$hoststat.CPUMin = $cpu.Minimum
$hoststat.MemMax = $mem.Maximum
$hoststat.MemAvg = $mem.Average
$hoststat.MemMin = $mem.Minimum
$allhosts += $hoststat
}
$allhosts | Select HostName, MemMax100, MemAvg100, MemMin100, CPUMax100, CPUAvg100, CPUMin100, MemMax, MemAvg, MemMin, CPUMax, CPUAvg, CPUMin | Export-Csv "c:\Hosts3.csv" -noTypeInformation
'VMware > PowerCLI' 카테고리의 다른 글
vMotion NetStack 변경 스크립트 (0) | 2020.11.29 |
---|---|
VMware PowerCLI 10.1.0 설치 (0) | 2018.04.29 |
VMware PowerCLI 시작 (0) | 2016.02.11 |