RAID-контроллер LSI FusionMPT SAS 2 часто можно встретить в современных серверах. В частности в серверах Dell он присутствует как "Dell PERC H200". Мониторинг состояния RAID-массива является актуальной задачей для любого RAID-контроллера и далее будет показано как организовать мониторинг контроллера LSI FusionMPT SAS 2 с помощью Zabbix.
Начальне условия: сервер под управлением Ubuntu 14.04 с настроенным на нём zabbix-agent'ом. Задача: добавить мониторинг контроллера LSI Fusion MPT SAS2.
В выводе утилиты lspci наш контроллер виден так:
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
Для получения информации и управления контроллером производитель предоставляет утилиту sas2ircu. Её мы и будем использовать дальше. Для удобной установки утилиты используем неофициальный репозиторий. Добавим его в систему и установим утилиту:
wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add - echo deb http://hwraid.le-vert.net/ubuntu precise main > /etc/apt/sources.list.d/hwraid.list apt-get install sas2ircu
Получить список доступных контроллеров можно командой:
sas2ircu LIST
Обычно единственный в системе контроллер имеет индекс "0" и информацию о нём можно получить командой:
sas2ircu 0 STATUS
Результат будет выглядеть примерно так:
LSI Corporation SAS2 IR Configuration Utility. Version 16.00.00.00 (2013.03.01) Copyright (c) 2009-2013 LSI Corporation. All rights reserved. Background command progress status for controller 0... IR Volume 1 Volume ID : 79 Current operation : None Volume status : Enabled Volume state : Optimal Volume wwid : 0343e392fc396454 Physical disk I/Os : Not quiesced SAS2IRCU: Command STATUS Completed Successfully. SAS2IRCU: Utility Completed Successfully.
Нас интересует значение параметра "Volume state". Если оно равно "Optimal" то всё хорошо. Если же нет - требуется вмешательство администратора.
Собственно решение задачи будет таким: zabbix-агент с помощью утилиты sas2ircu получает состояние контроллера и передаёт его zabbix-серверу, который и оповещает администраторов если оно не оптимально.
Поскольку утилита sas2ircu для своей работы требует привилегей суперпользователя необходимо разрешить пользователю, под которым работает zabbix-агент, запускать sas2ircu с помощью sudo. Для этого нужно добавить в файл "/etc/sudoers" строку:
zabbix ALL=(ALL) NOPASSWD: /usr/sbin/sas2ircu
Далее создадим новый элемент данных в zabbix-агент, для этого нужно добавить в файл "/etc/zabbix/zabbix_agentd.conf" строку:
UserParameter=raid.sas2ircu[*],sudo /usr/sbin/sas2ircu $1 STATUS | grep 'Volume state' | grep 'Optimal' | wc -l
В случае оптимального состояния контроллера значение элемента данных будет "1", а в случае проблемы - "0".
Теперь на стороне zabbix-сервера нужно настроить мониторинг параметра raid.sas2ircu[<тут индекс контроллера>] и соответствующие оповещения.
Подготовленный автором этих строк шаблон можно скачать тут. После скачивания его надо распаковать, отредактировать по вкусу, штатными средствами импортировать его в Zabbix и можно привязывать его к серверам.
На этом всё. Приятной работы и пусть сообщений о проблемах с серверами будет как можно меньше.
Anonymous 2024-10-09 11:38:24 (#)