команды vsphere powercli для проверки загрузки процессора и памяти в процентах

#powercli

#powercli

Вопрос:

Как мне получить загрузку процессора и памяти в процентах от числа хостов?

 Get-VMHost | Export-Csv "C:checks.csv"
  

это дает мне выходные данные в МГц

 Get-VMHost | Export-Csv "C:checks.csv"
  

Ответ №1:

Для выполнения этой задачи вам понадобится пара приемов PowerShell.

Сначала вычисляемые свойства. У Get-VMHost нет существующего свойства, состоящего из процентных значений использования процессора или памяти. Однако в нем содержатся как данные об использовании, так и общие суммы, из которых мы можем составить процент. Чтобы отобразить это, мы будем использовать так называемое вычисляемое свойство, которое позволит нам создать пользовательское свойство в форме хэш-таблицы, где мы выполняем это вычисление во время выполнения.

Пример: @{Name = 'CpuUsage'; Expression = {$_.CpuUsageMhz / $_.CpuTotalMhz}}

Во-вторых, нам нужно преобразовать вычисленное значение во что-то более понятное. Мы можем использовать спецификатор формата, который является частью ToString метода.

Пример: @{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}

В итоге ваш код должен выглядеть примерно следующим образом:

 Get-VMHost | select Name, ConnectionState, PowerState, @{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}, @{Name = 'MemoryUsage'; Expression = {($_.MemoryUsageGB / $_.MemoryTotalGB).ToString("P")}}, Version | Export-Csv "C:checks.csv"