Я принимаю участие в разработке приложения, которое будет работать на виртуализированной платформе, в настоящее время оно будет на VMware ESXi, но я бы не стал исключать вариант KVM.
Приложение работает в режиме реального времени и будет очень чувствительно к нехватке ресурсов, особенно к ЦП и пропускной способности сети. Из-за этой чрезвычайной чувствительности нам нужен какой-то механизм мониторинга работоспособности, который сможет собирать статистику о системных ресурсах, предоставленных конкретной виртуальной машине с нашим приложением, работающим внутри. Он может иметь функцию записи собранной статистики в файл журнала или отправки сигналов тревоги. Сбор таких данных на уровне хоста (гипервизора) не представляет проблемы, но приложение, работающее внутри виртуальной машины, не имеет необходимых разрешений, поэтому не может получить доступ к ESXi API.
Если вы собираетесь собирать информацию об уровне хоста / гипервизора из запущенного гостя, то одним из возможных подходов может быть сбор «отбрасываемых файлов» (содержащих статистику запущенного гипервизора) с гипервизора / хоста в гостевой системе. В лучшем случае это с задержкой, но все же лучше, чем отсутствие контекста текущего состояния гипервизора / хоста.
Я не уверен, что здесь достаточно информации, чтобы мы могли вам помочь. Из каких гостевых операционных систем вам нужны эти данные мониторинга? У вас будет привилегированный доступ (root / администратор) к этим гостям?
Существует множество способов сбора данных об использовании ресурсов (top, sar, wmic, powershell) в различных операционных системах и еще больше способов сделать эти данные доступными для чтения или передать их на другой хост, поэтому ваш вопрос кажется неполным или просто расплывчатым, извините .
Все, что вам нужно сделать, это установить vSphere SDK для Perl на этой виртуальной машине и использовать его для получения статистики из vCenter.