Мониторинг RAID-контроллера LSI FusionMPT SAS 2 с помощью Zabbix

()

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 и можно привязывать его к серверам.

На этом всё. Приятной работы и пусть сообщений о проблемах с серверами будет как можно меньше.

Ключевые слова: Zabbix, sas2ircu, LSI, Fusion MPT, Fusion MPT SAS 2.

Подписаться на обновления: RSS-лента Канал в TamTam Telegram канал Канал в ICQ

Комментарии:

Anonymous 2024-10-09 11:38:24 (#)

Почему вы в UserParameter ищете слово "Optimal", когда логичнее искать слово "Degraded"? Контроллер может содержать несколько Raid массивов. И какие-то из них могут быть в состоянии Optimal, а другие в Degraded.

MooSE 2024-10-10 10:36:36 (#)

Почему вы в UserParameter ищете слово "Optimal", когда логичнее искать слово "Degraded"?

С одной стороны вы правы.

Контроллер может содержать несколько Raid массивов.

Так как параметр числовой то в случае сбоя в одном из массивов значение изменится и если мониторинг настроен на оповещение об изменении значения - вы узнаете об этом.
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2024 Вадим Калинников aka MooSE
Политика конфиденциальности