Дружим Zabbix и ESXi

Update от 27.10.2017 — недавно переустановил zabbix версии 3.4.2 из пакетов, доступных в репозитории заббикса и там идут нормальные темплейты, в которых теперь мониторится и свободное место на “лунах”, необходимость в vmbix отпала.


Совсем недавно перешел на новую работу и встала задача — настроить мониторинг всего, что можно. Первым делом взялся за мониторинг ESXi хоста, ибо там большая часть серверного окружения крутится. Сходу — можно настроить мониторинг через встроенный темплейт VMWare Hypervisor, но у этой связки есть проблема — нет информации о свободном месте на lun’ах в Datastorage. После небольшого гугления нашёл способ получать и эту информацию через VMBIX.

Изначально подразумеваем, что у вас уже базово настроен и работает zabbix, работает команда zabbix_get (если устанавливать с сайта собранный пакет — его там нет).

Для работы нам нужно будет 2 пакета (я работаю с ubuntu, можно собрать из исходников под другие ОС) — это сам VMBix и модуль для Zabbix.

Самое простое, устанавливаем саму программу и модуль:

dpkg -i "имя пакета"

Также, ещё надо будет установить JRE, для работы программы.

Если все прошло нормально, при запуске vmbix будет выходить подобный текст

# /usr/local/sbin/vmbix
Usage:
vmbix {-P|--port} listenPort {-s|--serviceurl} http[s]://serveraddr/sdk {-u|--username} username {-p|--password} password [-f|--pid pidfile] [-i|--interval interval] [-U|--useuuid (true|false)]
or
vmbix [-c|--config] config_file [-f|--pid pidfile] [-i|--interval interval] [-U|--useuuid (true|false)]

Теперь пора проверить, сможет ли вытянуть демон инфу из VCenter. Если все будет правильно, выдаст примерно такое окно:

$ vmbix -P 12050 -u "MYDOMAIN\\myvmwareuser" -p "mypassword"" -s "https://myvcenter.mydomain.local/sdk"
log4j:WARN No appenders could be found for logger (com.vmware.vim25.ws.XmlGenDom).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
17:39:08.430 [main] INFO net.dav3860.VmBix - starting server on port 12050
17:39:08.433 [main] INFO net.dav3860.VmBix - server started

Если все хорошо, приступаем к настройке демона. Конфиг файл лежит по пути /etc/vmbix/vmbix.conf, там нужно изменить только следующие строки:

serviceurl = https://*VCENTERIP*:/sdk
username = пользователь vcenter
password = пароль пользователя
useuuid = true

Перезапускаем демона, отправляем в автозагрузку.

Настала очередь за модулем.

В 1 очередь — разрешаем zabbix-серверу подгружать модули.

LoadModulePath=/usr/lib/zabbix/modules
LoadModule=vmbix.so

Перезагружаем сервер, и если все хорошо, команда ниже выдаст примерно такой вывод:

zabbix_agentd -t "vmbix[about]"
zabbix_agentd [21698]: VmBix module version 1.0
zabbix_agentd [21698]: Loading VmBix module configuration file /etc/zabbix/vmbix_module.conf
vmbix[about] [s|VMware vCenter Server 5.1.0 build-947673]

Если все прошло хорошо, то можно импортировать в zabbix темплейты, создать узел сети с vCenter, и ждать когда подгружатся данные из темплейтов.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.