NetBear
@NetBear

Система мониторинга выделенных ресурсов изнутри виртуальной машины

Приветствую.

Мы разрабатываем некую аппликацию реального времени, которая будет работать на виртуальной платформе. На сегодняшний день речь идёт о VMWare ESXi, хотя я бы не исключал вариантов развития в сторону KVM или Xen или даже поддержки мултиплатформенности.
Наше программное решение крайне чувствительно к нехватке системных ресурсов, в особенности мощности процессора и ширины канала сети. Нам необходимо разработать некую систему контроля за выделенными ресурсами, т.е. процесс, который изнутри виртуальной машины сможет отслеживать состояние системных ресурсов, собирать статистику и в случае необходимости посылать предупреждение. Основная проблема на данном этапе заключается в том, что система мониторинга сама находится внутри контейнера виртуальной машины. Собирать подобную статистику и производить мониторинг ресурсов с уровня host (hypervisor) не представляет проблемы, однако когда речь заходит о выполнение подобной задачи с уровня Guest OS начинаются сложности. Например, в данном случае отсутствует доступ к API самого VMWare ESXi.
Может быть кто-то из уважаемых членов сообщества сталкивался с подобными задачами или имеет теоретическое представление о том как можно реализовать подобную систему.

Заранее премного благодарен.
  • Вопрос задан
  • 3430 просмотров
Пригласить эксперта
Ответы на вопрос 5
opium
@opium
Просто люблю качественно работать
Любой забикс, cacti, nagios.
Сбор статистики по сети, свои агенты на машинах + snmp.
Ответ написан
Комментировать
@antivir
Не очень пониманию, в чем проблема доступа из гостевой OS к API ESXi. Есть например, Veeam Backup and Replication, который прекрасно это делает. На крайний случай — свои агенты на хостах.
Ответ написан
Комментировать
NetBear
@NetBear Автор вопроса
Спасибо за ответы.
Проблема как раз именно в том, что я могу посадить агентов только внутрь гостевой ОС. У меня нет возможности измерять ресурсы на уровне хоста, моя система мониторинга инсталируется вместе с моей основной аппликацией. Ровно по той же самой причине мне не помогают решения из серии Cacti и Zabbix, т.к. они могут отслеживать активность внутри самого контейнера гостевой ОС с соответствующими ограничениями. Например, мы поставили нашу систему заказчику, прописали чёткие требования к ресурсам виртуальной машины, а у него наша аппликация бежит на сервере параллельно с ещё 20-ю виртуалками и политика resource sharing настроена, скажем так, не совсем верно. В какой-то момент времени на соседних виртуальных машинах в пиковом режиме повышается активность, что приводит к нехватке ресурсов для моего програмного решения. Изнутри контейнера моей виртуальной машины я по-прежнему вижу выделенные мне системные ресурсы и они по-прежнему в порядке, а на деле мне не хватает вычислительной мощности и проходимости сетевого канала, т.е. моя программа «задыхается». Если в такой момент произвести мониторинг ресурсов со стороны хоста, то мы увидим реальное положение вещей
Ответ написан
@antivir
Кстати, процессор можно зарезервировать в ресурспулах, есть еще traffic shaping (правда, сам его не пробовал).
Ответ написан
@antivir
Еще. Попробуйте проконсультироваться с М. Михеевым.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы