#获取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()