В моем случае используется zabbix 3.2 на ОС CentOS 7. Было протестировано с
серверами на VMware ESXi
4.1 и 5.5.
Данный мануал предполагает, что у вас уже есть рабочая и
настроенная система мониторинга zabbix 3.2, и далее будет описываться только
подключение узла VMware ESXi к системе мониторинга. Про первичную установку и настройку zabbix 3.2 на CentOS 7 можно прочесть например тут: http://serveradmin.ru/ustanovka-i-nastroyka-zabbix-3-2-na-centos-7/
1. Первое,
что нам необходимо будет сделать – это внести изменения в настройки zabbix.
Открываем файл zabbix-server.conf (на CentOS 7 он расположен по пути /etc/zabbix/zabbix-server.conf), и
раскомментируем и изменим следующие параметры:
StartVMwareCollectors=5
VMwareFrequency=60
VMwareCacheSize=16M
Сохраняем изменения и
перезапускаем zabbix server.
В CentOS 7 это делается так:
# systemctl restart zabbix-server.service
2. Далее
необходимо создать пользователя на сервере VMware ESXi с правами Read-Only. Для этого заходим в VMware vSphere Client и подключаемся к
необходимому серверу VMware ESXi.
Заходим во вкладку Local Users
& Groups (как показано на картинке ниже).
Щелкаем правой кнопкой мыши на
поле со списком пользователей и в появившемся меню выбираем «Add…» (как показано на картинке).
В открывшемся окне заполняем
поля «Login» - имя
пользователя, «User Name»
- более полное название пользователя (служит просто для информации и не
является обязательным для заполнения) и в поля «Password» и «Confirm» вводим пароль. В
конце нажимаем кнопку «OK».
Далее идем во вкладку «Permissions». Щелкаем на поле
с пользователями правой кнопкой мыши и в открывшемся меню выбираем «Add Permission…».
В открывшемся окне нажимаем
кнопку «Add…».
В еще одном открывшемся окне
выделяем созданного нами пользователя и нажимаем кнопку «Add». После этого данный пользователь
должен появится в поле «Users:».
Далее жмем кнопку «OK».
В оставшемся окне проверяем,
что выбранный нами пользователь появился в левой колонке и права выставлены Read-only. После этого нажимаем кнопку «OK».
Настройки на сервере VMware ESXi закончены и можно
закрыть VMware vSphere Client.
3. Далее
необходимо добавить в zabbix шаблоны для VMware. Для этого проходим по ссылке https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates и скачиваем шаблоны.
Необходимы 3 шаблона под вашу версию. В моем случае это:
Template_Virt_VMware-3.2.0.xml
Template_Virt_VMware_Hypervisor-3.2.0.xml
Template_Virt_VMware_Guest-3.2.0.xml
Для загрузки шаблонов заходим
в WEB-интерфейс
мониторинга zabbix. Далее Настройка -> Шаблоны.
В открывшейся форме нажимаем
«Выберите файл» и выбираем один из скачанных шаблонов. Все галочки оставляем по
умолчанию и нажимаем кнопку «Импорт». Данное действие необходимо будет
повторить для всех 3-х шаблонов.
После загрузки шаблонов они
должны появиться в списке шаблонов (Настройка -> Шаблоны), проверяем:
Template Virt VMware
Template Virt VMware Hypervisor
Template Virt VMware Guest
4. Далее
необходимо узнать UUID нашего сервера с VMware ESXi, он будет необходим при добавлении узла сети. Для этого
проходимо пройти по ссылке https://127.0.0.1/mob/?moid=ha-host&doPath=hardware.systemInfo
(127.0.0.1 необходимо заменить на ip адрес сервера VMware ESXi), в появившемся окне
запроса вбиваем имя пользователя и пароль, которые мы создали во 2-м пункте. Должна
отобразиться страница следующего вида:
UUID необходимо скопировать (без кавычек).
5. Добавляем
новый узел. Для этого заходим в Настройка -> Узлы сети -> «Создать узел
сети» (показано на картинке).
В открывшейся форме в «Имя
узла сети» вбиваем UUID полученный в 4-м пункте, в поле «Видимое имя» вбиваем
название сервера (произвольное, оно будет отображаться в списке узлов сети).
Выбираем к какой группе будет принадлежать данный сервер (в моем случае «Hypervisors»), и в «IP адрес» вместо 127.0.0.1
вписываем ip адрес
сервера VMware ESXi
(показано на рисунке ниже).
Переходим на вкладку «Шаблоны»
и выбираем наши 3 ранее добавленных шаблона, нажав на кнопку «Выбрать». После
выбора нажимаем кнопку «Добавить», которая подчеркнута красным на рисунке ниже.
После этого шаблоны должны
присоединиться, о чем будет свидетельствовать информация «Присоединенные
шаблоны», как показано ниже на рисунке:
Переходим на вкладку
«Макросы». Жмем на кнопку «Добавить», которая подчеркнута красным на рисунке
ниже, чтобы увеличить возможно добавления количества макросов до 3-х полей. В
поля вбиваем следующие значения:
{$USERNAME} – имя пользователя,
которые мы создали во 2-м пункте;
{$PASSWORD} – пароль
вышеуказанного пользователя.
По окончанию нажимаем кнопку
«Добавить», выделенную красным овалом. После этого узел должен добавиться и
появиться в списке Настройка -> Узлы сети.
6. Если
все настроено корректно, не менее чем через 60 минут мы должны увидеть
приходящие с сервера данные. Просмотреть их можно в Мониторинг –> Последние
данные -> выбрать нужный узел сети в «Узлы сети» и нажать «Применить».
Также в данных шаблонах
применяется автоматическое обнаружение виртуальных машин сервера. Увидеть их
можно в Настройка -> Узлы сети, все их названия будут начинаться с «Discover
VMware VMs: название_VM»
и принадлежать они будут группе «vm» (еще раз обращу внимание, что произойдет это не ранее чем
через 60 минут после добавления узла сети).
7. Добавление
триггера к шаблону.
Для меня стояла задача
мониторинга общего состояния сервера VMware ESXi и оповещения в случае каких-либо проблем с ним. Задачи
мониторинга виртуальных машин средствами VMware ESXi не стояло, т.к. на каждой виртуальной
машине стоит свой клиент zabbix. Поэтому я создал 1 триггер который смотрит за
параметром Health Status (vmware.hv.status[]).
Нормальное значение данного
параметра равно 1, если с сервером возникаю какие-либо проблемы – то это
значение меняется (то на что оно измениться зависит от критичности проблемы).
Для выяснения конкретики проблемы с сервером я смотрю уже VMware vSphere Client
(Configuration -> Health Status).
Итак, для создания триггера заходим
в Настройка -> Шаблоны. Далее находим нужный нам шаблон «Template Virt
VMware Hypervisor» и
нажимаем на «Тригеры».
Нажимаем на «Создать триггер»,
как показано на картинке ниже.
В открывшейся форме вписываем
имя триггера, которые будет отображаться в списке неисправностей. Используем {HOST.NAME}, чтобы взять имя хоста, на котором
произошла проблема. Ставим необходимую важность (в моем случае «Высокая»). И
жмем кнопку «Добавить» около поля «Выражение».
В открывшейся форме жмем «Выбрать».
В открывшейся форме выбираем
параметр «Overall status».
Значение «Функция» выбираем «Последнее
(самое новое) T
значение NOT N» и
в поле «N» пишем цифру
1. Далее жмем «Вставить».
После этого, поле «Выражение» должно
заполниться как показано ниже на картинке. Если все верно – жмем кнопку «Добавить».
Все! Триггер успешно создан.
Все сделал как указано (у меня правда версия esxi 6.5)
ОтветитьУдалитьНо в списке элементов данных созданного узла в конце строки каждого из них написано что соединение не установлено, якобы неверный логин или пароль (проверил несколько раз, даже закопипастил пароль и в заббиксе его поставил и в пользователе в vmware) - не помогло. Как можно быстро проверить, есть ли доступ к необходимым данным на хосте?
Добрый день. По esxi 6.5 не подскажу и нет установленного, чтобы проверить. Чтобы проверить правильность логина и пароля, необходимо проделать пункт 4, только вместо адреса 127.0.0.1 необходимо вбить ip адрес вашего esxi сервера. Так как раз вылезет форма запроса логина и пароля.
УдалитьДобрый день.
ОтветитьУдалитьВ шаблоне мониторится параметр vmware.hv.status[,], который на гипервизорах на оборудовании HP Proliant остается зеленым даже при наличии аппаратных проблем, например при деградации дисковых массивов.
Для решения этой проблемы я бы порекомендовал дополнительно мониторить параметр vmware.hv.sensor.health.state[,], которого нет в шаблоне. Он легко добавляется в шаблон "Template Virt VMware Hypervisor" и в этом же шаблоне к нему желательно подключить триггер, срабатывающий по условию <>1, это позволит мониторить аппаратные проблемы точнее.
Информация о других ключах мониторинга ESX находится здесь:
https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/simple_checks/vmware_keys