Инструменты пользователя

Инструменты сайта


zabbix_raid

Это старая версия документа!


Введение

Есть у меня в парке серверов множество различных рейд-контроллеров, в том числе софтовых(mdadm). У каждого из них имеются различные средства мониторинга, но хотелось бы все это отслеживать централизовано, например через zabbix, а в случае изменения состояния любого из массивов - получать уведомления, например по почте. Данная статья не является пошаговым руководством, а представляет из себя набор заметок на память для различных контроллеров. В каждом подразделе описана техника получения информации о состоянии массивов zabbix-агентом.

mdadm

В Linux mdadm есть файл /proc/mdstat, в котором содержится информаци о всех массивах и их состоянии. У каждого массива есть вот такое текстовое обозначение: [UU] (кол-во букв U зависит от кол-ва дисков в массиве). Если один или более дисков выходит из строя, то вместо буквы U появляется знак подчеркивания: _ Соответственно ищем подобные массивы и подсчитываем их кол-во, если их больше 0, то поднимаем панику. В конфиге агента добавляем такой пользовательский параметр:

UserParameter=custom.softraid.status,egrep -c "\[.*_.*\]" /proc/mdstat

И тестируем:

# zabbix_agentd -t custom.softraid.status
custom.softraid.status[egrep -c "\[.*_.*\]" /proc/mdstat] [t|0]

Как видно, параметр вернул ноль( [t|0] ), все нормально.

3Ware

Для мониторинга контроллеров 3ware (теперь уже LSI) понадобится утилита 3w_cli, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): hwraid.

Утилита 3w_cli работает только из под рута, поэтому нужно установить sudo и в конфиге разрешить забиксу без пароля запуск утилиты, добавляем в конец /etc/sudoers:

zabbix  ALL=(ALL) NOPASSWD:/opt/3ware/CLI/tw_cli

Теперь добавляем в конфиг забикса пользовательский параметр:

UserParameter=custom.3ware.status,sudo /opt/3ware/CLI/tw_cli /c0 show allunitstatus | grep "Not Optimal" | awk '{print $6}'

Этот параметр аналогичным образом подсчитывает кол-во массивов(на первом контроллере), которое имеет статус «Not Optimal». Если в сервере установлено несколько контроллеров, то можно будет сделать скрипт с несколькими подобными командами и в конце сумировать результат.

Проверяем работоспособность:

# zabbix_agentd -t custom.3ware.status
custom.3ware.status[sudo /opt/3ware/CLI/tw_cli /c0 show allunitstatus | grep "Not Optimal" | awk '{print $6}'] [t|0]

Все массивы в норме ([t|0]).

Adaptec

Для мониторинга контроллеров Adaptec понадобится утилита arcconf, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): hwraid.

В конфиг zabbix-агента добавляем следующий пользовательский параметр:

UserParameter=custom.adaptec.status,/opt/adaptec/arcconf GETCONFIG 1 | grep "Status of logical device" | grep -cv Optimal

Этот параметр производит подсчет кол-ва массивов первого контроллера, статус которых отличается от «Optimal». Если в системе более одного контроллера, то нужно создать скрипт, который будет выполнять подобную команду для каждого контроллера и суммировать результат.

Проверяем:

# zabbix_agentd -t custom.adaptec.status
custom.adaptec.status[/opt/adaptec/arcconf GETCONFIG 1 | grep "Status of logical device" | grep -cv Optimal] [t|0]

Все нормально, кол-во отказавших массивов ноль ([t|0]).

LSI(IBM)

LSI(Intel)

Пример создания тригера

Ссылки

zabbix_raid.1392987907.txt.gz · Последнее изменение: 2022/03/25 17:04 (внешнее изменение)