虚拟机内部的健康监控解决scheme

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

该应用程序是实时的,并将对资源短缺,尤其是CPU和networking带宽非常敏感。 由于这种极端的敏感性,我们需要一些运行状况监测机制,能够收集我们的应用程序运行在特定虚拟机上的系统资源统计信息。 它可能具有将收集的统计信息logging到日志文件或发送警报的function。 从主机(pipe理程序)级别收集这些数据不是问题,但在虚拟机内部运行的应用程序没有获得所需的权限,因此也无法访问ESXi API。

我不确定是否有足够的信息帮助我们。 什么客户操作系统(S)你需要这个监测数据? 您是否拥有这些客人的特权(root /pipe理员)权限?

在各种操作系统中有很多方法可以收集资源利用率数据(top,sar,wmic,powershell),还有更多方法可以使数据可读或者推送到另一个主机,所以你的问题似乎不完整或者含糊不清。

如果您正在查看正在运行的guest虚拟机中收集主机/pipe理程序层信息,则可能需要从guest虚拟机上的pipe理程序/主机收集“drop files”(包含正在运行的pipe理程序统计信息)。 它最多只能延迟计时,但仍然比没有当前pipe理程序/主机状态的上下文更好。

您只需在该VM中安装用于Perl的vSphere SDK,并使用它从vCenter中提取统计信息。