10. Мониторинг виртуальных машин
Обзор
Zabbix может использовать правила низкоуровневого обнаружения для автоматического обнаружения гипервизоров и виртуальных машин VMware, а также создавать узлы сети для их мониторинга на основе предварительно определённых прототипов узлов сети.
Zabbix также включает готовые к использованию шаблоны для мониторинга гипервизоров VMware vCenter или ESXi.
Минимальная необходимая версия VMware vCenter или vSphere — 5.1.
Сбор данных
Мониторинг виртуальных машин выполняется в два шага:
-
Процессы Zabbix vmware collector собирают данные виртуальных машин — процессы получают необходимую информацию от веб-сервисов VMware по протоколу SOAP, предварительно обрабатывают её и сохраняют в разделяемой памяти сервера Zabbix.
-
Процессы Zabbix poller извлекают данные при помощи ключей элементов данных мониторинга VMware простых проверок Zabbix.
Zabbix делит собранные данные на данные конфигурации VMware и данные счётчиков производительности VMware. Оба типа данных собираются независимо процессами vmware collector.
На основе данных счётчиков производительности VMware доступна статистика по следующим категориям:
- Хранилище данных
- Дисковое устройство
- Процессор
- Питание
- Сетевой интерфейс
- Элементы данных пользовательских счётчиков производительности
Для полного списка элементов данных, которые получают данные от счётчиков производительности VMware, обратитсесь к разделу Ключи элементов данных мониторинга VMware.
Обратите внимание, что частота получения событий VMware зависит от интервала опроса vmware.eventlog, но не может быть меньше 5 секунд.
Настройка
Если Zabbix сервер собран из исходных кодов, для работы мониторинга виртуальных машин необходимо, чтобы он был скомпилирован с опциями сборки --with-libcurl --with-libxml2.
Для мониторинга виртуальных машин можно модифицировать следующие параметры файла конфигурации Zabbix сервера:
Рекомендуется включить больше коллекторов, чем число отслеживаемых служб VMware.
В противном случае получение статистики счётчиков производительности VMware может быть задержано из-за получения данных конфигурации VMware (что занимает некоторое время для больших установок).
Как правило, значение StartVMwareCollectors не должно опускаться ниже 2 и не должно превышать двукратного количества наблюдаемых служб VMware: Количество служб < StartVMwareCollectors < (Количество служб * 2).
Например, если у вас под наблюдением одна служба VMware, задайте StartVMwareCollectors равным 2; а при мониторинге трёх служб VMware, задайте параметр равным 5.
Имейте в виду, что требуемое количество коллекторов зависит также от размера вашей среды VMware, а также параметров конфигурации VMwareFrequency и VMwarePerfFrequency.
Для получения большей информации смотрите страницы файлов конфигурации Zabbix сервера и прокси.
Для поддержки метрик объёмов хранилищ данных убедитесь, что значение ключа VMware vpxd.stats.maxQueryMetrics задано по крайней мере в 64.
Для более подробной информации смотрите также статью [en] в базе знаний VMware.
Обнаружение
Zabbix может использовать правила низкоуровневого обнаружения (например, vmware.hv.discovery[{$VMWARE.URL}]) для автоматического обнаружения гипервизоров и виртуальных машин VMware. Более того, Zabbix может использовать прототипы узлов сети, чтобы автоматически генерировать реальные узлы сети для обнаруженных объектов. Для дополнительной информации обратитесь к странице Прототипы узлов сети.
Примеры конфигурации
Базовый пример настройки Zabbix для мониторинга VMware с использованием шаблона VMware FQDN смотрите в разделе Мониторинг VMware с помощью Zabbix.
Более подробный пример создания узла сети, правила низкоуровневого обнаружения и прототипа узла сети для мониторинга VMware смотрите в разделе Пример настройки.
Расширенное журналирование
Данные, собираемые процессами 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 больше не требуется, рекомендуется уровень отладки понизить до значения по умолчанию (3) командой -R log_level_decrease.
Решение проблем
- В случае недоступности метрик, пожалуйста, убедитесь, что они не стали недоступными или отключёнными по умолчанию в последних версиях VMware vSphere, или не наложены ли какие-либо ограничения на запросы метрик производительности к базе данных. Для получения более подробных сведений обратитесь к ZBX-12094 [en].
- В случае ошибки
config.vpxd.stats.maxQueryMetricsis invalid or exceeds the maximum number of characters permitted (config.vpxd.stats.maxQueryMetricsошибочен или превышает максимальное количество разрешённых символов), добавьте параметрconfig.vpxd.stats.maxQueryMetricsв настройки сервера vCenter. Значение этого параметра должно быть таким же, как иmaxQuerysizeв файле VMware web.xml. Для получения более подробных сведений смотрите эту статью базы знаний VMware [en]. - Если вы подозреваете, что ваша установка Zabbix использует слишком много памяти, смотрите Профилирование чрезмерного использования памяти с помощью tcmalloc.