Смотрел тут схожие посты, решил написать свой.
Использую Zabbix 2.0.3 FreeBSD 9
Написал коротенькую инструкцию, кому пригодится буду рад.
1. установить VMware-vSphere-Perl-SDK
Скачать с сайта VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
Распаковать, выполнить perl Makefile.PL, доустановить недостающие пакеты perl, далее make install
Установить perl vmware-install.pl
Для FreeBSD изменить vmware-install.pl
- удалить проверку на depmod, ldd в массиве @programList;
- в процедуре install_content_vicli_perl убрать проверку на версии установленных libxml2, openssl, openssl-dev
$installed_libxml_version = '2.7.8';
$installed_ssl_version = '1.0.1';
$OpenSSL_dev-installed = 1;
$e2fsprogs_version = '10';
$e2fsprogs_installed = 1;
2. положить в скрипты zabbix/externalscripts скрипты esx5_counter.pl и esx5_discovery.sh с правом исполнения для пользователя zabbix
3. положить в скрипт esx5_api.pl в /usr/local/etc/zabbix2/zabbix/
4. Добавить в кронтаб
#get statistics for ESX
*/5 * * * * root /usr/local/etc/zabbix2/zabbix/esx5_api.pl IP user password ESXname
где IP - ip адрес ESX сервера
user - пользователь для доступа ESX
password - пароль для доступа ESX
ESXname - имя узла ESX в zabbix
Скрипт esx5_api.pl создает в папке /tmp файлы с счетчиками и файлы для обнаружения следующего вида
- vmware_api_IP.txt - файл со счетчиками
- vmware_disk_IP.txt - обнаружение дисков
- vmware_ds_IP.txt - обнаружение хранилищ (datastore)
- vmware_net_IP.txt - обнаружение сетевых интерфейсов
- vmware_vm_IP.txt - обнаружение виртуальных машин
только для включенных виртуальных машин
и отсылает через zabbix_sender код исполнения скрипта
0 - Ok
1 - error with perl API
2 - error with status file. Can't write status file.
3 - bad username or password
Известные проблемы:
- имена виртуальных машин, хранилищ не должны содержать пробелов и скобок
- формирование файлов для обнаружения заложено в скрипте и обновляется каждый раз, хотя нужно реально реже
- при обнаружении нет общего графика, например, загрузки процессора для всех виртуальных машин, можно только по каждой
- нет проверки железа, имею старый сервер без таковых счетчиков.
В шаблоне не присутсвует проверка на пинг, так как она у меня в другом отдельном шаблоне. Ну и соответственно надо потом делать комплексный экран и зависимости триггеров.
Скрипт построен на скрипте автора Dmitry Maksimov для мониторинга ESX4
И еще пару вопросов, кто знает как сделать общий график, например, загрузки процессора для всех виртуальных машин сразу в шаблоне, а не потом отдельно для хоста?
Использую Zabbix 2.0.3 FreeBSD 9
Написал коротенькую инструкцию, кому пригодится буду рад.
1. установить VMware-vSphere-Perl-SDK
Скачать с сайта VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
Распаковать, выполнить perl Makefile.PL, доустановить недостающие пакеты perl, далее make install
Установить perl vmware-install.pl
Для FreeBSD изменить vmware-install.pl
- удалить проверку на depmod, ldd в массиве @programList;
- в процедуре install_content_vicli_perl убрать проверку на версии установленных libxml2, openssl, openssl-dev
$installed_libxml_version = '2.7.8';
$installed_ssl_version = '1.0.1';
$OpenSSL_dev-installed = 1;
$e2fsprogs_version = '10';
$e2fsprogs_installed = 1;
2. положить в скрипты zabbix/externalscripts скрипты esx5_counter.pl и esx5_discovery.sh с правом исполнения для пользователя zabbix
3. положить в скрипт esx5_api.pl в /usr/local/etc/zabbix2/zabbix/
4. Добавить в кронтаб
#get statistics for ESX
*/5 * * * * root /usr/local/etc/zabbix2/zabbix/esx5_api.pl IP user password ESXname
где IP - ip адрес ESX сервера
user - пользователь для доступа ESX
password - пароль для доступа ESX
ESXname - имя узла ESX в zabbix
Скрипт esx5_api.pl создает в папке /tmp файлы с счетчиками и файлы для обнаружения следующего вида
- vmware_api_IP.txt - файл со счетчиками
- vmware_disk_IP.txt - обнаружение дисков
- vmware_ds_IP.txt - обнаружение хранилищ (datastore)
- vmware_net_IP.txt - обнаружение сетевых интерфейсов
- vmware_vm_IP.txt - обнаружение виртуальных машин
только для включенных виртуальных машин
и отсылает через zabbix_sender код исполнения скрипта
0 - Ok
1 - error with perl API
2 - error with status file. Can't write status file.
3 - bad username or password
Известные проблемы:
- имена виртуальных машин, хранилищ не должны содержать пробелов и скобок
- формирование файлов для обнаружения заложено в скрипте и обновляется каждый раз, хотя нужно реально реже
- при обнаружении нет общего графика, например, загрузки процессора для всех виртуальных машин, можно только по каждой
- нет проверки железа, имею старый сервер без таковых счетчиков.
В шаблоне не присутсвует проверка на пинг, так как она у меня в другом отдельном шаблоне. Ну и соответственно надо потом делать комплексный экран и зависимости триггеров.
Скрипт построен на скрипте автора Dmitry Maksimov для мониторинга ESX4
И еще пару вопросов, кто знает как сделать общий график, например, загрузки процессора для всех виртуальных машин сразу в шаблоне, а не потом отдельно для хоста?


Comment