虚拟机内部的健康监测解决方案

虚拟机内部的健康监测解决方案

我正在参与开发一些将在虚拟化平台上运行的应用程序,目前它将在 VMware ESXi 上运行,但我不会排除 KVM 选项。

应用程序是实时的,对资源短缺非常敏感,尤其是 CPU 和网络带宽。由于这种极端的敏感性,我们需要某种健康监测机制,能够收集有关为运行我们应用程序的特定虚拟机提供的系统资源的统计信息。它可能具有将收集到的统计信息记录到日志文件或发送警报的功能。从主机(虚拟机管理程序)级别收集此类数据不是问题,但在虚拟机内运行的应用程序没有所需的权限,因此也无法访问 ESXi API。

答案1

我不确定这里是否有足够的信息来帮助您。您需要从哪些客户操作系统获取这些监控数据?您是否拥有这些客户操作系统内的特权(root/管理员)访问权限?

在各种操作系统中,有很多方法可以收集资源利用率数据(top、sar、wmic、powershell),还有更多方法可以使这些数据可读或将其推送到另一台主机,因此您的问题似乎不完整或只是模糊的,抱歉。

答案2

如果您正在从正在运行的客户机中收集主机/虚拟机管理程序层信息,那么一种可能的方法是收集来自客户机上的虚拟机管理程序/主机的“drop 文件”(包含正在运行的虚拟机管理程序统计信息)。这种方法最多是延迟的,但仍然比没有当前虚拟机管理程序/主机状态的上下文要好。

答案3

您需要做的就是在该虚拟机中安装 vSphere SDK for Perl,并使用它从 vCenter 中提取统计信息。

相关内容