В сегодняшней теме посвященной поставленной задачи я хочу опять же для себя разобрать все шаги посредством которых в систему по мониторингу за инфраструктурой Zabbix (2.2.12) развернутый на Ubuntu 12.04.5 Server amd64 добавить гипервизор (VMware ESXi 5.5.0 build-2068190). Тем самым я смогу производить съем информации получаемой самим гипервизором с виртуальных машин развернутых внутри него, статистика работы, затрачиваемые ресурсы и многое многое другое.
На заметку: чтобы с ESXi-хоста собиралась полная информация по развернутым внутри виртуальным системам нужно чтобы на каждой VM стояли Vmware Tools. Без этого к сожалению ни как, да и вообще разве может вызвать проблемы такая банальщина, уже все давным давно есть на моем блоге. Кто ищет тот найдет.
Подключаюсь к Zabbix через консоль командной строки:
aollo@system:~$ ssh -l ekzorchik 10.7.8.121
Текущая информация по zabbix-системе:
ekzorchik@srv-mon:~$ uname -a && cat /etc/os-release
Linux srv-mon 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="12.04.5 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.5 LTS)"
VERSION_ID="12.04"
Устанавливаю в систему следующие пакеты:
ekzorchik@srv-mon:~$ sudo apt-get install libxml2 libcurl3 -y
Произвожу поиск где находится главный файл серверной части Zabbix:
ekzorchik@srv-mon:~$ sudo updatedb
[sudo] password for ekzorchik:
ekzorchik@srv-mon:~$ locate zabbix_server.conf
/etc/zabbix/zabbix_server.conf
ekzorchik@srv-mon:~$ sudo nano /etc/zabbix/zabbix_server.conf
StartVMwareCollectors=1
VMwareFrequency=60
VMwareCacheSize=8M
ekzorchik@srv-mon:~$ sudo service zabbix-server restart
Затем добавляю в Zabbix новые элементы преобразования получаемых значений:
http://IP&DNS — user&pass — Administration — General — Value mapping — и создаю: Create value map:
Name: Vmware status
Value: 0 → Mappted to: gray
Value: 1→ Mappted to: green
Value: 2 → Mappted to: yellow
Value: 3→ Mappted to: red
После не забываем нажать Save для применения внесенных дополнений. (может так случиться, что такая карта значений уже есть, тогда Вам повезло создавать не нужно, просто проверить)
и еще одну карту значений:
Name: Vmware VirtualMachinePowerState
Value: 0 → Mappted to: poweredOff
Value: 1→ Mappted to: poweredOn
Value: 2 → Mappted to: suspended
После не забываем нажать Save для применения внесенных дополнений.
Теперь нужно с официального сайта zabbix скачать (только для той версии Zabbix сервера которую используете) и по порядку импортировать данные шаблоны в развернутый Zabbix:
aollo@system:~$ mkdir vmware
aollo@system:~$ cd vmware/
aollo@system:~/vmware$ wget https://www.zabbix.org/mw/images/7/7e/Template_Virt_VMware_Hypervisor-2.2.0.xml
aollo@system:~/vmware$ wget https://www.zabbix.org/mw/images/5/5d/Template_Virt_VMware_Guest-2.2.0.xml
aollo@system:~/vmware$ wget https://www.zabbix.org/mw/images/5/50/Template_Virt_VMware-2.2.0.xml
или же скачать от меня:tips_zabbix_2.2.0_template_vmware_v1.tar
aollo@system:~/vmware$ md5sum *
c1acfb16bccd2ee628bcb744b10c2c07 Template_Virt_VMware-2.2.0.xml
66b451fad926417e5d7fc0f58e0ace87 Template_Virt_VMware_Guest-2.2.0.xml
95a26f0110e16778e74bb511c1b23054 Template_Virt_VMware_Hypervisor-2.2.0.xml
Импортирую данные шаблоны в порядке в котором я их скачивал, т. е. Сперва Hypervisor потом Guest потом Vmware:
http://IP&DNS — user&pass — Configuration — Templates — Import — обзор — и со своей рабочей системы из каталога vmware выбираю скачанные выше шаблоны и нажимаю Import.
Теперь создаю группу для ESXi-хостов:
http://IP&DNS — user&pass — Host Groups — или буду использовать уже имеющуюся под названием: Hypervisors
Теперь добавляю новый узел в мониторинг:
http://IP&DNS — user&pass — Configuration — Hosts — Create host –
Host name: 35
Groups: Hypervisors
Agent Interfaces: удаляем дефолтное значений
т. е. IP адрес подключения вообще пока не указываем
после перехожу на вкладке Templates — Select — отмечаю галочкой шаблон → Template Virt Vmware и нажимаю Select — Add
после перехожу на вкладку Macros и создаю целых три макроса:
{$URL} : https://10.7.8.35/sdk
{$USERNAME} : root
{$PASSWORD} : секретный_пароль
После нажимаю Save Для применения всех изменений при добавлении нового узла, хост успешно добавится — Host added на зеленом фоне, также развернутая детальная информация:
Created: Application “Clusters” on “35”.
- Created: Application “General” on “35”.
- Created: Application “Log” on “35”.
- Created: Discovery rule “Discover VMware clusters” on “35”.
- Created: Discovery rule “Discover VMware hypervisors” on “35”.
- Created: Discovery rule “Discover VMware VMs” on “35”.
- Created: Item prototype “Status of “$2″ cluster” on “35”.
- Created: Host prototype “{#HV.UUID}” on “35”.
- Created: Host prototype “{#VM.UUID}” on “35”.
- Created: Item “Event log” on “35”.
- Created: Item “Full name” on “35”.
- Created: Item “Version” on “35”.
На заметку: Вообще-то раз идет всего лишь съем информации с ESXi-хоста, то можно ограничится лишь пользователем у которого на весь ESXi-хост только права на чтение (read only).
На заметку: Спустя некоторое время наблюдаю добавление виртуальных машин и гипервизора в Zabbix: http://IP&DNS — user&pass — Configuration — Hosts, сортируем по группе: Group (vm) и вот те виртуальные системы которые есть на данном ESXi хосте
Отлично что еще можно сказать, что посмотреть данные по обнаруженным виртуальным машинам на esxi-хосте, открываем: Monitoring — Latest Data
Но, как видно из скриншота выше, у каждой станции отсутствуют извещатели (триггеры) на события с системой, а потому этот этап каждый сделает сам для себя что ему нужно. Сперва конечно же стоит просто понаблюдать за собираемыми данными, а уже потом определить те которые представляют наибольшую ценность. Вот собственно и все о чем я хотел рассказать, как самому себе так и Вам читатели моего блога — ekzorchik.