Мониторинг состояния сервера VMware ESXi средствами zabbix (VMware Health Status, Zabbix)

Данная статья описывает настройку мониторинга состояния сервера с VMware ESXi средствами Zabbix.

В моем случае используется 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-х полей. В поля вбиваем следующие значения:
{$URL} — https://127.0.0.1/sdk (вместо 127.0.0.1 должен быть ip адрес вашего сервера);
{$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. Далее жмем «Вставить».

После этого, поле «Выражение» должно заполниться как показано ниже на картинке. Если все верно – жмем кнопку «Добавить».

Все! Триггер успешно создан.

Рубрики: VMwareZabbix

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *