Мониторинг HP SmartArray на VMWare ESXi 5.x в Zabbix

Мониторинг HP SmartArray на VMWare ESXi 5.x в Zabbix

970
ПОДЕЛИТЬСЯ

В нашем серверном хозяйстве, наряду с кластерами vSphere, имеется несколько standalone серверов ESXi, установленных в неких филиалах. Все эти сервера производства HP , и имеют на борту RAID-контроллеры HP SmartArray.

Бэкапы бэкапами, репликация репликацией, все это отлично и все это есть, но при отказе массива и падении хоста со всеми филиальными виртуалками, обычный на какое-то время будет обеспечен в любом случае. Опосля пары «веселых» эпизодов с вылетом дисков на таковых серверах, которые были обнаружены чисто случаем опосля захода на оные сервера vSphere Client’ом (и нам еще крупно подфартило, что массивы остались целы), я задумался о прикручивании к Zabbix мониторинга RAID-контроллеров на таковых вот выделенных хостах ESXi.

Как воплотить таковой мониторинг?

Синтаксис команд у их совпадает, так что их различием в критериях данной задачки можно пренебречь. Во все кастомизированные HP образы ESXi 5.x совместно с VIB входят консольные утилиты для работы с массивами. Для ESXi 5.0 и 5.1 это hpacucli, для 5.5 это hpssacli.

ESXi – не рядовая ОС, Zabbix Agent туда не поставишь. Проще всего – через SSH. Но, здесь встает вопросец сохранности: указывать пароли в явном виде в скрипте и применять sshpass как-то не чрезвычайно охото. Ну а сам парсинг вывода hpacucli/hpssacli у меня уже был изготовлен ранее в рамках реализации локального мониторинга RAID-массивов на Linux серверах (доработанный вариант из wiki.enchtex.info/howto/zabbix/zabbix_hp_smart_array_monitoring), так что осталось лишь еще раз доработать его ратфилем, чтоб вызывал hpacucli/hpssacli не локально, а удаленно, плюс инспектировал версию ESXi, чтобы определять, какую из утилит нужно дергать. Последующий вопросец – как получать информацию от этих утилит. Следовательно, будем авторизоваться по RSA – так будет и безопаснее, и надежнее.

В итоге вышло последующее:
1. Скрипт по команде Zabbix’а бегает на сервера ESXi, авторизуясь на их по RSA, и дергает консольную утилиту.
Ее вывод пишется в локальный обновляемый кэш, чтобы не перегружать сервера запросами. 2.
3. Вывод парсится, определяются имеющиеся физические и логические диски, модель контроллера, его характеристики. Все это отдается Zabbix’у в обычном JSON контейнере для LLD.
4. Дальше Zabbix’у по команде (externalcheck) отдается информация о состоянии всего этого добра, плюс информация inventory (модели дисков, серийники etc.)
5. Раз что не так с контроллером/батареей/дисками – срабатывает триггер и Zabbix начинает грязно ругаться 😉

Это все была теория, сейчас перейдем к практике.

Для начала качаем архив со скриптом и шаблоном. Скрипт помещаем на наш сервер (либо прокси) Zabbix в папку /usr/lib/zabbix/externalscripts.

Дальше настроим авторизацию по RSA для Zabbix на нашем ESXi (все команды выполняются на сервере Zabbix):

Создаем открытый и закрытый ключи для юзера, от имени которого работает Zabbix: 1.
# mkdir -p /var/lib/zabbix/.ssh
# chown -R zabbix:zabbix /var/lib/zabbix
# sudo -u zabbix ssh-keygen -t dsa
Мы получим приблизительно таковой вывод:
Your public key has been saved in /var/lib/zabbix/.ssh/id_dsa.pub. Enter file in which to save the key (/var/lib/zabbix/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/zabbix/.ssh/id_dsa. Generating public/private dsa key pair.
2. Сейчас внесем наш открытый ключ на ESXi сервер от имени root’а – таковым образом мы даем права Zabbix’у от собственного имени ходить на ESXi по SSH с RSA автоизацией и рутовыми правами.
# cat /var/lib/zabbix/.ssh/id_dsa.pub | ssh root@esxi_ip_addr ‘cat >> /etc/ssh/keys-root/authorized_keys’
Проверяем: 3.
# sudo -u zabbix ssh root@esxi_ip_addr
Настраивать на самом ESXi ничего не требуется. Мы должны попасть на наш esxi без запроса пароля.
# exit
Проверяем работу скрипта: 4.
# sudo -u zabbix /usr/lib/zabbix/externalscripts/hp-smartarray-esxi.sh esxi_ip_addr general model
В ответ мы должны получить модель нашего RAID-контроллера.

habrahabr.ru Осталось лишь в Zabbix привязать к ESXi соответственный шаблон из архива. На этом настройка завершена.

НЕТ КОММЕНТАРИЕВ

ОСТАВЬТЕ ОТВЕТ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.