Настройка мониторинга контроллеров HP Smart Array в Zabbix.
Для работы с контроллерами HP существует утилита hpacucli. Ее возможности очень хорошо подходят для задач мониторинга. Процесс настройки проводится в Gentoo Linux. Вообще говоря процедура настройки универсальная, отличие между настройкой в разных дистрибутивах, сводится только к отличиям в установке программы пакетным менеджером. В моем случае не стандартный emerge, а paludis.Процесс настройки выглядит следующим образом:
- установка hpacucli;
- написание скрипта сбора данных;
- правка конфигурации zabbix-agentd;
- импорт шаблона.
# echo 'sys-block/hpacucli ~amd64' >> /etc/paludis/keywords.conf
# cave resolve sys-block/hpacucli app-admin/sudo -x
# vi /etc/sudoers
zabbix ALL=(ALL) NOPASSWD: /usr/sbin/hpacucli, /opt/hp/hpacucli
Теперь основная конфигурация в которой описываются ключи и команды по сбору данных.
# vi /etc/zabbix/hparray.conf
# Проверка статус контроллера.
# $1 - номер слота в котором установлен контроллер. целое число от 1 до X.
# $2 - запрос статуса. одно из трех значение controller, cache или battery.
UserParameter=raid.status[*],sudo /usr/sbin/hpacucli ctrl slot=$1 show status |grep -i $2 |tail -n1 |cut -d' ' -f6
# Проверка состояния RAID-тома.
# $1 - номер слота в котором установлен контроллер. целое число от 1 до X.
# $2 - номер RAID тома. целое число от 1 до Х.
UserParameter=raid.volume[*],sudo /usr/sbin/hpacucli ctrl slot=$1 ld $2 show |grep -i status |cut -d' ' -f11
# Проверка состояния физического диска.
# $1 - номер слота в котором установлен контроллер. целое число от 1 до Х.
# $2 - номер диска. целочисленное значение от 1 до Х.
UserParameter=raid.drive.status[*],sudo /usr/sbin/hpacucli ctrl slot=$1 pd 1I:1:$2 show |grep Status |cut -d' ' -f11
UserParameter=raid.drive.temperature[*],sudo /usr/sbin/hpacucli ctrl slot=$1 pd 1I:1:$2 show |grep "Current Temperature" |cut -d' ' -f13
UserParameter=raid.ssd.free[*],sudo /usr/sbin/hpacucli ctrl slot=$1 pd 1I:1:$2 show |grep Usage |cut -d' ' -f12- |tr -d \%
Немного о информации о параметрах hpacucli используемых в процессе сбора данных. В качестве входящих аргументов скрипту нужно передать номер слота где размещен контроллер и в некоторых параметрах нудно передать порядковый номер устройства.
Выполняем оставшуюся правку конфигурации zabbix_agentd.
# echo 'Include=/etc/zabbix/hparray.conf' >> /etc/zabbix/zabbix_agentd.conf
# /etc/init.d/zabbix-agentd restart
Теперь переходим в веб-интерфейс в раздел с шаблонами и выполняем импорт шаблона HP Smart Array. После импорта можно назначать шаблон на хосты. Несколько замечаний по шаблону:
- большинство триггеров в шаблоне установлены с важностью Disaster;
- во всех параметрах, номер слота в котором установлен контроллер, указано 4;
- шаблон сделан из расчета что собран 1 RAID и подключено 4 диска;
- мониторинг свободных ячеек у SSD дисков сделан для 3 и 4 диска.
- controller status - состояние контроллера;
- battery status - состояние BBU;
- cache status - состояние Write Cache;
- RAID volume status - состояние собранного RAID;
- drive status - состояние физических дисков;
- drive temperature - температура дисков;
- SSD drive free cells - количество свободных ячеек.
На главную "Virtualizing Linux"
Алексей, спасибо, статья очень помогла! Правда есть один вопрос. Например, значение статуса контроллера регулярно приходит "ОК", а вот для кэша или логического диска оно приходит через раз, то есть может прийти несколько раз подряд пустое значение, потом несколько раз "ОК" и т.д., хотя мы знаем, что с RAID'ом все в порядке. Это происходит как при интервале обновления равном 60 секунд, так и при интервале 1 час. Как вы думаете, с чем это может быть связано?
ОтветитьУдалитьСложно сказать,
ОтветитьУдалить1) я бы попробовал в цикле, вручную запускать сбор параметра через zabbix_get, посмотрел бы на возможные ошибки,
2) еще бы попробовал запустить hpacucli вручную от рута и от заббикса, нужно посмотреть как они отрабатывают и есть ли там вывод необходимой информации для передачи заббикс_серверу.
3) Ну и как вариант, еще логи агента остаются.
И еще, эти параметры что у вас так странно работают... не меняет ли он свой статус на Not supported?
Спасибо, попробую. Запускала вручную пока только от рута, всегда отвечает "ОК". Как ни странно, эти параметры в Заббиксе постоянно в статусе Активировано
ОтветитьУдалитьЕсли выясните причину, напишите плз, а то мне тоже любопытно)))
ОтветитьУдалитьХорошо)
ОтветитьУдалитьЕсть один большой минус: утилита hpacucli допускает запуск только в единственном экземпляре. Поэтому когда произойдет запрос данных в короткий промежуток времени, возникнет ситуация, требующая запуска второго экземпляра утилиты, что будет запрещено. Поэтому проверка, запущенная второй, выдаст пустое значение. Что Вы и наблюдаете у себя в системе.
ОтветитьУдалитьКак обойти это ограничение - как раз ломаю голову. ))))
я решил это таким образом... ))) приготовтесь изменить сознание =)))
Удалить1. есть скрипт который последовательно выполняет ряд hpacucli команд, а вывод сохраняет в один файл.
2. второй скрипт проходит по этому файлу и формирует набор ключей, затем отправляет через zabbix_sender на сервер мониторинга
работает только для zabbix2.
доступно здесь https://github.com/lesovsky/zabbix-extensions/tree/master/files/hwraid-smartarray
В принципе, так и сделал )))
УдалитьПричем работает и для автообнаружения.
Схема такова:
скрипт на perl формирует .log файлы, в которые прописывает все получаемые значения от hpacucli. zabbix_sender в данной схеме не используется, идет простая проверка заббикс-агентом через метод zabbix_get, в настройках которого есть пользовательские параметры, отвечающие за считываение данных из сформированных .log файлов.
Сам же основной скрипт perl запускается через cron по желаемому расписанию.
В заббиксе дополнительно добавлена проверка на время последнего изменения формируемого файла, чтобы получать оповещения об устаревании данных в случае сбоя или подвисания скрипта.
Главное, поставленная задача - выполнена. ))
К сожалению файл шаблона теперь не доступен
ОтветитьУдалитьНеужели ссылку сложно обновить?
ОтветитьУдалитьЕсли автор читает то мог бы все отправить на lpetr2@mail.ru . Заранее спс
Удалитьобновил ссылку
ОтветитьУдалить