获取esxi主机的内存和CPU使用率

3 篇文章 0 订阅
from __future__ import print_function
import atexit
from pyVim.connect import SmartConnectNoSSL, Disconnect
from pyVmomi import vim

memory_and_cpu_dict = {}

def getHostMemoryAndCPU(content):
    memory_dict = {}
    cpu_dict = {}
    for datacenter in content.rootFolder.childEntity:
        hostFolder = datacenter.hostFolder
        for clusterComputeResource in hostFolder.childEntity:
            for computeResource in clusterComputeResource.host:

                host_memory_usage = computeResource.summary.quickStats.overallMemoryUsage    #内存使用量
                host_memory_all = computeResource.summary.hardware.memorySize / 1048576      #内存总量

                host_memory_usage_rate = int((host_memory_usage / host_memory_all) * 100)   #内存使用率
                hostName = computeResource.name
                memory_dict[hostName] = host_memory_usage_rate

                host_cpu_usage = computeResource.summary.quickStats.overallCpuUsage     #CPU使用量
                host_numcpu_cores = computeResource.summary.hardware.numCpuCores        #CPU核数
                host_mhz_per_core = computeResource.summary.hardware.cpuMhz             #CPU赫兹
                host_cpu_all = host_numcpu_cores * host_mhz_per_core                    #CPU总量
                host_cpu_usage_rate = int((host_cpu_usage / host_cpu_all) * 100)        #CPU使用率
                cpu_dict[hostName] = host_cpu_usage_rate

    memory_and_cpu_dict['cpu_uasge'] = cpu_dict
    memory_and_cpu_dict['memory_usage'] = memory_dict
    return memory_and_cpu_dict




def run(host, user, pwd, port):
    """
    Simple command-line program for listing the virtual machines on a host.
    """

    si = None
    try:
        si = SmartConnectNoSSL(host=host, user=user, pwd=pwd, port=int(port))
        atexit.register(Disconnect, si)
    except vim.fault.InvalidLogin:
        raise SystemExit("Unable to connect to host "
                         "with supplied credentials.")

    content = si.RetrieveContent()
    memory_and_cpu_dict = getHostMemoryAndCPU(content)
    print(memory_and_cpu_dict)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值