Команды vsphere powercli для проверки использования процессора и памяти в процентах - PullRequest
0 голосов
/ 01 апреля 2019

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

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

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

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

1 Ответ

0 голосов
/ 02 апреля 2019

Для выполнения этой задачи вам понадобится пара трюков 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"
...