Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

10. Мониторинг виртуальных машин

Обзор

Поддержка мониторинга сред виртуализации VMware доступна в Zabbix начиная с версии 2.2.0.

Zabbix может использовать правила низкоуровневого обнаружения для автоматического обнаружения гипервизоров и виртуальных машин VMware, а также создавать узлы сети для их мониторинга на основе предварительно определенных прототипов узлов сети.

Zabbix также включает шаблоны для мониторинга гипервизоров VMware vCenter или ESXi.

Минимальная необходимая версия VMware vCenter или vSphere — 5.1.

Сбор данных

Мониторинг виртуальных машин выполняется в два шага:

  1. Процессы Zabbix vmware Collector собирают данные виртуальных машин — процессы получают необходимую информацию от веб-сервисов VMware по протоколу SOAP, предварительно обрабатывают ее и сохраняют в общей памяти сервера Zabbix.

  2. Процессы опросника Zabbix извлекают данные с помощью простой проверки Zabbix ключи элементов мониторинга VMware.

Zabbix делит собранные данные на данные конфигурации VMware и данные счетчика производительности VMware. Оба типа данных собираются независимо процессами vmware Collector.

На основе данных счетчика производительности VMware доступна следующая статистика:

  • Хранилище данных
  • Дисковое устройство
  • Процессор
  • Питание
  • Сетевой интерфейс
  • Пользовательские элементы счетчика производительности.

Полный список элементов данных, которые получают данные от счетчиков производительности VMware, см. в разделе Ключи элементов данных мониторинга VMware.

Настройка

Для того чтобы мониторинг виртуальных машин заработал, необходимо, чтобы Zabbix был скомпилирован с опциями сборки --with-libxml2 и --with-libcurl.

Можно использовать следующие опции из файла конфигурации для оптимизации мониторинга виртуальных машин:

  • StartVMwareCollectors - количество префорк процессов vmware коллектора.
    Это значение зависит от количества служб VMware, которые вы наблюдаете. Для большинства случаев значением должно быть:
    колвослужб < StartVMwareCollectors < (колвослужб * 2),
    где колвослужб является количество служб VMware. Например, если у вас под наблюдением 1 служба VMware, задайте StartVMwareCollectors равным 2, если у вас 3 службы VMware, задайте параметр равным 5. Обратите внимание, что в большинстве случаев это значение не должно быть меньше 2 и не должно превышать более чем в 2 раза, чем количество служб VMware, которые вы мониторите. Также имейте в виду, что эта величина зависит также от размера вашей среды VMware, параметров конфигурации VMwareFrequency и VMwarePerfFrequency (смотрите ниже).
  • VMwareCacheSize
  • VMwareFrequency
  • VMwarePerfFrequency
  • VMwareTimeout

Для получения большей информации смотрите страницы файлов конфигурации Zabbix сервера и прокси.

Для поддержки метрик объемов хранилищ данных Zabbix требуется значение vpxd.stats.maxQueryMetrics параметра VMware по крайней мере 64. Смотрите также статью [en] в базе знаний VMware.

Обнаружение

Zabbix может использовать правило обнаружения для автоматического обнаружения гипервизоров и виртуальных машин VMware.

Все обязательные поля ввода отмечены красной звёздочкой.

Ключом правила обнаружения на снимке экрана выше является vmware.hv.discovery[{$VMWARE.URL}].

Готовые к использованию шаблоны

Поставляемый с Zabbix начальный набор данных предлагает несколько готовых к использованию шаблонов для мониторинга VMware vCenter и мониторинга напрямую ESX гипервизоров. Эти шаблоны содержат преднастроенные правила низкоуровневого обнаружения, а также некоторое количество встроенных проверок для мониторинга виртуальных инсталляций.

Шаблоны для мониторинга VMware vCenter и ESX гипервизоров:

  • VMware - использует данные UUID для соответствующих макросов;
  • VMware FQDN - использует данные FQDN для соответствующих макросов.

Для корректной работы VMware FQDN шаблона каждая VM должна иметь уникальное имя ОС, соответствующее FQDN правилам, и VMware Tools должны быть установлены на каждой машине. Если эти условия соблюдены, рекомендуется использовать VMware FQDN шаблон. Создание VMware FQDN шаблона стало возможным, после введения возможности создания узлов сети с пользовательскими интерфейсами в Zabbix 5.2.

Классический шаблон VMware все ещё доступен и может быть использован, если требования FQDN не соблюдаются. Пожалуйста, имейте в виду что у шаблона VMware имеется известная проблема. Узлы сети обнаруженных виртуальных машин создаются с именами, которые хранятся в vCenter (например, VM1, VM2 и т.д.). Если активный Zabbix агент позже устанавливается на этих узлах сети с активированной опцией авторегистрации, процесс автоматической регистрации прочитает имена хостов так, как они были зарегистрированы при запуске (например, vm1.example.com, vm2.example.com и т.д.) и создаст новые узлы сети, так как совпадения не будут найдены. В результате будет два дубликата узлов сети с разными именами по каждой машине.

Шаблоны используемые обнаружением (как правило, эти шаблоны не стоит вручную присоединять к узлам сети):

  • VMware Hypervisor;
  • VMware Guest.

Настройка узла сети

Для того чтобы использовать простые проверки VMware, на узел сети должны быть назначены следующие макросы:

  • {$VMWARE.URL} - служба VMware (vCenter или ESX hypervisor) SDK URL (https://имя_сервера/sdk).
  • {$VMWARE.USERNAME} - Имя пользователя службы VMware
  • {$VMWARE.PASSWORD} - Пароль к пользователю {$USERNAME} службы VMware
Примеры конфигурации

Базовый пример настройки Zabbix для мониторинга VMware с использованием шаблона VMware FQDN см. в разделе Мониторинг VMware с помощью Zabbix.

Более подробный пример создания узла сети, правила низкоуровневого обнаружения и прототипа узла сети для мониторинга VMware см. в Пример настройки.

Расширенное журналирование

Можно записывать в файл журнала сбор данных коллектором VMware, используя уровень отладки 5. Этот уровень можно задать в файлах конфигурации сервера и прокси или используя опцию выполнения административных функций (-R log_level_increase="vmware collector,N", где N является номером процесса). При условии, что уровень отладки 4 уже задан, расширенное журналирование можно запустить так, как демонстрируется в следующих примерах:

Увеличение уровня журналирования по всем коллекторам vmware:
       shell> zabbix_server -R log_level_increase="vmware collector"
       
       Увеличение уровня журналирования по второму коллектору vmware:
       shell> zabbix_server -R log_level_increase="vmware collector,2"

Если расширенное журналирование данных коллекторов VMware не требуется, его можно остановить командой -R log_level_decrease.

Решение проблем

  • В случае недоступности метрик, пожалуйста, убедитесь, что они не стали недоступными или отключенными по умолчанию в последних версиях VMware vSphere или, не наложены ли какие-либо ограничения на запросы метрик производительности в базу данных. Смотрите ZBX-12094 для получения более подробных сведений.
  • В случае, если 'config.vpxd.stats.maxQueryMetrics' ошибочен или превышает максимальное количество разрешенных символов** ошибки, добавьте config.vpxd.stats.maxQueryMetrics параметр в настройки vCenter сервера. Значение этого параметра должно быть таким же как и maxQuerysize в VMware web.xml. Для получения более подробных сведений смотрите эту статью базы знаний VMware.