pyvmomi получает общее количество процессоров, статистику памяти сервера vcenter - PullRequest
0 голосов
/ 23 октября 2018

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

1 Ответ

0 голосов
/ 07 ноября 2018

Вам необходимо выполнить цикл и получить хосты после подключения к 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])
...