8 Мониторинг виртуальных машин
Обзор
Zabbix может использовать правила обнаружения низкого уровня для автоматического обнаружения гипервизоров VMware и виртуальных машин и создания узлов сети для их мониторинга на основе заранее определённых прототипов узлов сети.
Zabbix также включает готовые к использованию шаблоны для мониторинга VMware vCenter или гипервизоров ESXi.
Минимально требуемая версия VMware vCenter или vSphere — 5.1.
Сбор данных
Мониторинг виртуальных машин состоит из двух этапов:
-
Процессы Zabbix vmware collector собирают данные виртуальных машин — эти процессы получают необходимую информацию из веб-сервисов VMware по протоколу SOAP, предварительно обрабатывают её и сохраняют в разделяемой памяти сервера Zabbix.
-
Процессы Zabbix poller получают данные с помощью простой проверки Zabbix ключи элементов данных мониторинга VMware.
Zabbix разделяет собираемые данные на данные конфигурации VMware и данные счётчиков производительности VMware. Оба типа данных собираются независимо процессами vmware collector.
На основе информации счётчиков производительности VMware доступна следующая статистика:
- Хранилище данных
- Дисковое устройство
- CPU
- Питание
- Сетевой интерфейс
- Пользовательские элементы данных счётчиков производительности
Полный список элементов данных, получающих данные из счётчиков производительности VMware, см. в разделе ключи элементов данных мониторинга VMware.
Обратите внимание, что частота получения событий VMware зависит от интервала опроса vmware.eventlog, но не может быть меньше 5 секунд.
Конфигурация
Если Zabbix сервер скомпилирован из исходных кодов, он должен быть скомпилирован с параметрами конфигурации --with-libcurl --with-libxml2, чтобы включить мониторинг виртуальных машин.
Пакеты Zabbix уже скомпилированы с включёнными этими параметрами.
Для мониторинга виртуальных машин можно изменить следующие параметры файла конфигурации Zabbix сервера:
Рекомендуется включить больше сборщиков, чем количество отслеживаемых сервисов VMware;
в противном случае получение статистики счётчиков производительности VMware может задерживаться из-за получения данных конфигурации VMware (что занимает некоторое время в крупных установках).
Как правило, значение StartVMwareCollectors не должно быть меньше 2 и не должно превышать удвоенное количество отслеживаемых сервисов VMware: количество сервисов < StartVMwareCollectors < (количество сервисов * 2).
Например, при мониторинге одного сервиса VMware установите StartVMwareCollectors в 2; при мониторинге трёх сервисов установите StartVMwareCollectors в 5.
Обратите внимание, что требуемое количество сборщиков также зависит от масштаба среды VMware, а также от параметров конфигурации VMwareFrequency и VMwarePerfFrequency.
Для поддержки метрик ёмкости хранилища данных убедитесь, что значение ключа VMware vpxd.stats.maxQueryMetrics установлено как минимум в 64.
Дополнительную информацию см. в статье VMware Knowledge Base.
Обнаружение
Zabbix может использовать правила низкоуровневого обнаружения (например, vmware.hv.discovery[{$VMWARE.URL}]) для автоматического обнаружения гипервизоров VMware и виртуальных машин. Кроме того, Zabbix может использовать прототипы узлов сети для автоматического создания реальных узлов сети для обнаруженных объектов. Для получения дополнительной информации см. Прототипы узлов сети.
Configuration examples
For a basic example of how to set up Zabbix for monitoring VMware using the VMware FQDN template, see Monitor VMware with Zabbix.
For a more detailed example of how to create a host, a low-level discovery rule, and a host prototype for monitoring VMware, see Setup example.
Расширенное журналирование
Данные, собираемые процессами vmware collector, могут записываться в журнал для детальной отладки с использованием 5-го уровня отладки.
Уровень отладки можно настроить в конфигурационных файлах сервера и прокси
или с помощью параметра управления во время выполнения -R log_level_increase="vmware collector,N", где "N" — номер процесса.
Например, чтобы повысить уровень отладки с 4 до 5 для всех процессов vmware collector, выполните следующую команду:
zabbix_server -R log_level_increase="vmware collector"
Чтобы повысить уровень отладки с 4 до 5 для второго процесса vmware collector, выполните следующую команду:
zabbix_server -R log_level_increase="vmware collector,2"
Когда расширенное журналирование данных VMware collector больше не требуется, рекомендуется снизить уровень отладки до значения по умолчанию (3), выполнив команду -R log_level_decrease.
Устранение неполадок
- Если метрики недоступны, убедитесь, что они не были сделаны недоступными или отключены по умолчанию в последних версиях VMware vSphere, а также что для запросов к базе данных метрик производительности не установлены какие-либо ограничения. Дополнительную информацию смотрите в ZBX-12094.
- Если возникает ошибка
config.vpxd.stats.maxQueryMetrics is invalid or exceeds the maximum number of characters permitted, добавьте параметрconfig.vpxd.stats.maxQueryMetricsв настройки vCenter Server. Значение этого параметра должно совпадать со значениемmaxQuerysizeв файле web.xml VMware. Дополнительную информацию смотрите в статье VMware Knowledge Base. - Если вы подозреваете, что ваша установка Zabbix использует слишком много памяти, смотрите Профилирование чрезмерного использования памяти с tcmalloc.