pyvmomi获取RAM/CPU使用率VSphere SDK 5.5?

2024-05-13 00:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过Python从一些ESXi服务器获取一些信息。我找到了pyvmomi(https://github.com/vmware/pyvmomi),这是一个很好的、易于理解的工具。然而,我似乎找不到一种方法来获取关于CPU/RAM/存储使用情况的“实时”信息。我正在浏览VMware的SDK(http://pubs.vmware.com/vsphere-55/topic/com.vmware.sdk.doc/GUID-19793BCA-9EAB-42E2-8B9F-F9F2129E7741.html),但我只能找到主机有多少cpu或内存。

有人用Python做过吗?


Tags: 工具方法httpsgithub服务器com信息sdk
2条回答

我添加了脚本来提取使用多线程的esxhost的cpu使用率。你可以在我的github上找到 https://github.com/dograga/ESXPerfData

检查pyvmomi-community-samples。其中有一个名为esxi_perf_sample.py的python脚本,其中有一个关于如何在指定时间段内检索特定度量的示例。

与该示例一起,检查this实现。

这里的技巧在于将counterId映射到目标计算机上当前实现的可用度量的可读名称。在尝试检索可用计数器的值之前,应首先检索它们。

在我看来,本文第二个链接的实现是基于pyVmomi的最佳公开示例之一。仔细研究一下,它可能会自己回答你所有的疑问。

还要注意,尽管Geeklee vminfo实现是面向来宾的,但所有度量对于主机仍然有效。执行查询时,只需调整脚本以指定宿主实体,而不是来宾(或允许两者兼有)。

最后,在执行查询调用时,可以通过时间间隔指定检索到的度量的“实时”粒度。应根据需要指定间隔,但请注意,对于最新vSphere版本,采样之间的最小(默认)间隔为20秒,因此不应指定小于此值的时间间隔。

相关问题 更多 >