pyvmomi получает общий процессор, статистику памяти сервера vcenter

Я могу получить память процессора для различных объектов, таких как хосты, центр обработки данных, через API. Но мне нужен общий процессор, статистика памяти всего vcenter, как показано на рисунке ниже, с использованием pyvmomi. Любая помощь будет оценена по достоинству. введите здесь описание изображения


person sandesh hegde    schedule 23.10.2018    source источник
comment
Я не нашел подходящего примера, но вы ищете счетчики vCenter Resource (vcres), которые являются частью PerformanceManager: code.vmware.com/apis/358/vsphere#/doc/vcres_counters.html   -  person Kyle Ruddy    schedule 30.10.2018


Ответы (1)


Вам нужно выполнить цикл и получить хосты после подключения к vCentre с помощью SmartConnect.

Информация об оборудовании хоста находится здесь< /а>

Когда у вас есть хосты, вы просматриваете их и получаете информацию об оборудовании. Они в необработанном формате, поэтому вам нужно их конвертировать. Я вставил функцию convertMemory, которую использую

hosts = content.viewManager.CreateContainerView(content.rootFolder,[vim.HostSystem],True)
for host in hosts.view:
    # Print the hosts cpu details
    print(host.hardware.cpuInfo)
    # convert CPU to total hz to ghz times numCpuCores
    print("CPU:", round(((host.hardware.cpuInfo.hz/1e+9)*host.hardware.cpuInfo.numCpuCores),0),"GHz")
    #covert the raw bytes to readable size via convertMemory
    print("Memory:", convertMemory(host.hardware.memorySize))

Функция convertMemory просто преобразует число в удобочитаемую память.

def convertMemory(sizeBytes):
    name = ("B", "KB", "MB", "GB", "TB", "PB")
    base = int(floor(log(sizeBytes, 1024)))
    power = pow(1024,base)
    size = round(sizeBytes/power,2)
    return "{}{}".format(floor(size),name[base])
person woody1990    schedule 07.11.2018
comment
Большое спасибо. Думал перебрать всех хостов и подвести статистику для подведения итогов. - person sandesh hegde; 11.11.2018