Начиная с Windows Server 2012 появилась возможность мониторинга ресурсов. Возможность эта актуальна не только для сервис провайдеров (у которых какие-никакие, но уже имельсь средства учета), но и для планирования дальнейшего развития внутренней инфраструктуры компании.
При использовании PoSHStats, он самостоятельно выполнит необходимые действия, нижеприведённая информация дана с целью показать возможности Windows Server 2012 «из коробки».
Включим такую возможность для сервера «host»:
Get-VM -ComputerName host | Enable-VMResourceMetering
После, при добавлении новой виртуальной машины необходимо будет включать для нее мониторинг отдельно:
Get-VM %vmname% | Enable-VMResourceMetering
Если Вы разворачиваете виртуальные машины скриптами, можно соответствующим образом поправить скрипт.
Исходя из требований к лабе, хотел было задать интервал в пятнадцать минут:
Set-VMHost –ComputerName host –ResourceMeteringSaveInterval 00:15:00
Увы, менее часа задать интервал можно, вот только он не установиться. Баг известен, ждем решения. Кстати говоря, максимальное значение — 24 часа.
Посмотрим обзорные данные:
Get-VM -ComputerName host | Measure-VM
Разумеется, можно посмотреть данные только для одной виртуальной машины:
Get-VM -ComputerName host -Name “srv3” | Measure-VM | fl
Обратите внимание на отсутствие значения MeteringDuration , оно говорит нам о том, за какой срок эта машина «употребила» кол-во ресурсов. Такое бывает, если включается мониторинг всех машин на хосте разом, поправить можно «передернув»:
Get-VM -Name srv3 | Reset-VMResourceMetering
Вот почему стоит тщательно проверить все показатели перед тем, как выводить их в мониторинг, на основе которого будут строиться отчеты и приниматься решения.
Если нужно выполнить обзор параметра по всем виртуальным машинам, сделать это можно так:
Get-VM | Measure-VM | Select-Object *
Например, я выведу значение AggregatedAverageLatency
Get-VM | Measure-VM | Select-Object VMName, AggregatedAverageLatency
В Windows Server 2012 большое количество нововведений в сетях, и я приведу несколько примеров, относящихся к мониторингу виртуальных машин.
Командлет покажет нам статистику по сети для виртуальной машины srv3:
(Measure-VM -VMName srv3).NetworkMeteredTrafficReport
Небольшое отступление: ACL для виртуальных коммутаторов могут быть использованы для разделения трафика между виртуальными машинами. На практике, вещь полезна для сервис проваййдеров работающих с Hyper-V и предприятий, которым необходимо разделить трафик между отделами. По синтаксису рекомендую ознакомиться — http://technet.microsoft.com/en-us/library/hh848505.aspx
Снова к практике: есть виртуальная машина srv3, находится в сети 192.168.42.х и есть виртуальная машина, которая находится в сети 192.168.39.х
C помощью правила будем наблюдать за тем, как srv3 обменивается трафиком с серверами в сети 192.168.39.х
Add-VMNetworkAdapterAcl –VMName Redmond –Direction Both –Action Meter –RemoteIPAddress 192.168.39.0/24
Вот как это выглядит на практике (я по сети передал файл размером около 40Мб):В следующей статье цикла я расскажу о том, как вывести эти результаты в «графику».
Оглавление цикла статей “Мониторинг производительности и статистика Hyper-V”