[[Мониторинг LSI MegaRAID в Zabbix]]

Zabbix

Мониторинг LSI MegaRAID в Zabbix

В моем варианте я рассчитываю мониторинг только Adapter #0 т.е. когда в система только одна плата raid контроллера (опция -a0)

MegaRAID SAS 9261-8i
sys-block/megacli-8.02.21
net-analyzer/zabbix-2.0.9

Примеры вывода команд megacli

Установка скрипта

Создание папки для скриптов:

mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/

Создадим сам скрипт:

Листинг

Скрипт поддерживает обнаружение (discovery) виртуальных дисков и физических в слотах.
Скрипт предусматривает кеш, что позволяет сократить количество реальных обращений к серверу. Время действия кеша в секундах должно устанавливается чуть меньше чем минимальный период опроса элементов.

Установка прав

chown root:zabbix /etc/zabbix/scripts/lsimegaraid.sh
chmod 700 /etc/zabbix/scripts/lsimegaraid.sh

Настройка прав пользователю zabbix в sudo

/etc/sudoers

...

##### CUSTOM #####
zabbix ALL=(ALL) NOPASSWD: /opt/bin/megacli -LDInfo -LAll -a0 -NoLog
zabbix ALL=(ALL) NOPASSWD: /opt/bin/megacli -PDlist -a0 -NoLog
Проверить работу скрипта для zabbix:

sudo -u zabbix /etc/zabbix/scripts/lsimegaraid.sh none virtdiskovery
sudo -u zabbix /etc/zabbix/scripts/lsimegaraid.sh none physdiskovery
sudo -u zabbix /etc/zabbix/scripts/lsimegaraid.sh none VirtualDrive0 state

Вы должны получить данные, если этого не произошло, то конфигурация выполнена не правильно.

Настройка Zabbix сервера

Вызов скрипта через zabbix-agent

Настройка

/etc/zabbix/zabbix_agentd.conf

...

UserParameter=lsimegaraid[*],/etc/zabbix/scripts/lsimegaraid.sh "none" $1 $2

Перезапустить

/etc/init.d/zabbix-agentd restart

Проверка

zabbix_get -s HOST -k "lsimegaraid[DriveSlot0, inquiry]"

Для контролируемых данных в Zabbix нужно создать соответствующее элементы с типом "Zabbix агент" и ключом типа:

lsimegaraid[disk, key]

где disk - имя виртуального диска VirtualDrive<X> или слота физического диска DriveSlot<X>
key - контролируемая метрика

Готовый Шаблон для мониторинга LSI MegaRAID (agent) с уже настроенными элементами и графиками.

Результат

Пример графиков:

Ничего не найдено.

Обсуждение

Anton, 2014/02/01 12:41

Обнаружил, что не все megacli выдают megacli -LDInfo -LAll -a0 -NoLog|grep "Bad Blocks Exist" В результате этого, происходят алармы для некоторых хостов - LSIMegaRaid: VirtualDrive0 Bad Blocks Exist on hostname. Сможете сделать отдельную проверку на наличие строки в выхлопе megacli?

Anton, 2014/02/01 12:48

Заменил в проверке на - {MyTemplate_LSIMegaRaid_agent:lsimegaraid[{#VIRTNUM}, badblock].str(Yes)}=1

Aleksey, 2014/02/01 12:51

Уберите

        /Bad Blocks/     {badblock[drivecounter]=trim($2)}
printf ( "VirtualDrive%d badblock:%s\n", slot[i], badblock[i]);

и дезактивируйте элемент для таких хостов

Anton Kartashev, 2014/02/01 12:57

Второй вариант, который я предложил предпочтителен, серверов очень много, везде править это дикий костыль. Спасибо.

Andre, 2015/02/27 15:17

Спасибо за скрипт и шаблон !

Правда что то не хочет работать :(

Ошибка в заббиксе. Value should be a JSON object.

версия сервера 2.2.7, агента 2.2.1

Подскажите плз, как быть.

Andre, 2015/03/01 14:21

Все спасибо ! Разобрался.

Roman, 2016/07/11 15:44

Добрый день! Подскажите, в чем была проблема? Тоже самое, только версии агентов и сервера другие. 2.4.8

Andre, 2015/03/02 15:40

Маленькое дополнение !

Если в /etc/sudoers по умолчанию включена опция "Defaults requiretty", то ничего не заработает.

Нужно добавить еще такую строчку "Defaults:zabbix !requiretty"

Пример:

##### CUSTOM #####
Defaults:zabbix !requiretty
zabbix ALL=(ALL) NOPASSWD: /opt/bin/megacli -LDInfo -LAll -a0 -NoLog
zabbix ALL=(ALL) NOPASSWD: /opt/bin/megacli -PDlist -a0 -NoLog
Aleksey, 2015/03/03 13:06

Спасибо за дополнение

METAJIJI, 2015/03/16 11:19

Думаю так будет проще:

printf ("VirtualDrive%d badblock:%s\n", slot[i], badblock[i]?badblock[i]:"Unknown")

Если значение не было получено от megaCli, то будет присвоено Unknown.

Дмитрий, 2015/04/27 11:59

Антон, а можете уточнить, где именно Вы изменили проверку?

Если можно, максимально подробно: только начинаю с zabbix'ом знакомиться.

Александр, 2015/05/12 15:25

День добрый! Только начинаю пользовать заббикс и нашел этот сайт с инструкцией по мониторингу LSI. Сделал как здесь написано, начинаю смотреть логи на сервере и вижу

megaraid[0,62,0,"Media Error Count"]" became not supported: Unsupported item key

Сам ключ такой:

lsimegaraid[DriveSlot0, inquiry]

Подскажите куда копать

Aleksey, 2015/05/13 13:02
megaraid[0,62,0,"Media Error Count"]

Фигня какая-то, сверьте формат вывода команд megacli у вас с примером или выложите на pastbin.

Где результаты проверки работы скрипта при ручном запуске из примеров

Vasa, 2015/08/12 13:37

Ребята, а ни у кого не вешал контроллер?

Начинаю собирать информацию и через несколько часов вешается контроллер.

Ваш комментарий. Вики-синтаксис разрешён:
253 -5 = ?
 
howto/zabbix/zabbix_megaraid_monitoring.txt · Последние изменения: 2014/04/25 12:07 (внешнее изменение)
Gentoo Linux Driven by DokuWiki