Python 之 获取Host Esxi 主机信息

2023-06-07,,

代码

#Author Kang
#获取ESXI主机的CPU和内存使用情况,并统计百分比

import ssl
import pysphere
from pysphere import VIServer,MORTypes,VIProperty
from pysphere.resources import VimService_services as VI

ssl._create_default_https_context = ssl._create_unverified_context
host_ip = '10.3.151.2'      
username = 'root'           
passwd = 'password'         

s = VIServer()      
s.connect(host_ip,username,passwd)

hosts = s.get_hosts()

for host in hosts:
    p = VIProperty(s,host)
    HostName = p.name
    HostCpuUsage = p.summary.quickStats.overallCpuUsage
    HostMemoryUsage = p.summary.quickStats.overallMemoryUsage
    HostNumCpuCores = p.summary.hardware.numCpuCores
    HostMhzPerCore = p.summary.hardware.cpuMhz
    HostCpuTotal = (HostNumCpuCores * HostMhzPerCore)
    HostTotalMemory = p.summary.hardware.memorySize/ 1048576
    HostCpuUsagePercent = ((HostCpuUsage * 100) / HostCpuTotal)
    HostMemoryUsagePercent = ((HostMemoryUsage * 100) / HostTotalMemory)

    print "%s | CpuUsage=%s MemoryUsage=%s" %(HostName,str(HostCpuUsage),str(HostMemoryUsage))
    print "%s | TotalCpu=%s TotalMemory=%s" %(HostName,str(HostCpuTotal),str(HostTotalMemory))
    print "%s | CpuUsagePercent=%s MemoryUsagePercent=%s" % (HostName,str(HostCpuUsagePercent), str(HostMemoryUsagePercent))

s.disconnect()

结果:
10.3.151.9 | CpuUsage=2029 MemoryUsage=95515
10.3.151.9 | TotalCpu=46000 TotalMemory=130845
10.3.151.9 | CpuUsagePercent=4 MemoryUsagePercent=72

《Python 之 获取Host Esxi 主机信息.doc》

下载本文的Word格式文档,以方便收藏与打印。