Python 之 获取Host Esxi

发布时间:2019-08-14 12:45:12编辑:auto阅读(1751)

    代码

    #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 主机信息

关键字