===== Мониторинг Linux Software RAID (mdraid) в Icinga с плагином check_raid ===== {{:icinga:pasted:20180618-194631.png }} Среди ряда публично доступных плагинов мониторинга программной реализации **RAID** в ОС Linux на базе **Linux Software RAID** (**Multiple Device**/**MD RAID**/**mdraid**), совместимых с **Icinga**, по функциональным возможностям можно выделить плагин: [[https://github.com/glensc/nagios-plugin-check_raid|check_raid]]. В этой статье мы рассмотрим пример установки и простейшей настройки плагина **check_raid**. ---- \\ ==== Плагин check_raid ==== Плагин **check_raid** по своей сути - большой скрипт, написанный на **Perl**. Плагин является универсальным, так как поддерживает мониторинг множества разных типов RAID-контроллеров. Основная информация о плагине доступна на странице проекта: [[https://github.com/glensc/nagios-plugin-check_raid|nagios-plugin-check_raid]] Если заглянем в [[https://github.com/glensc/nagios-plugin-check_raid/releases|releases]], то увидим, что стабильной версией на данный момент признаётся версия **4.0.10 (16 May 2019)**. Загружать плагин нужно на тот сервер, где нам требуется выполнять проверку **mdraid**. Для начала определимся с каталогом размещения плагинов Icinga и закинем путь к нему в переменную окружения с удобным нам именем, например ''ICINGA_PLUGIN_DIR '' на **Debian 64-bit** это будет выглядеть так:
# export ICINGA_PLUGIN_DIR="/usr/lib/nagios/plugins/"
на **CentOS 64-bit** это будет выглядеть так:
# export ICINGA_PLUGIN_DIR="/usr/lib64/nagios/plugins/"
Скачиваем плагин в каталог плагинов:
# wget https://github.com/glensc/nagios-plugin-check_raid/releases/download/4.0.10/check_raid.pl --directory-prefix=$ICINGA_PLUGIN_DIR
Переходим в этот каталог и делаем плагин исполняемым
# cd $ICINGA_PLUGIN_DIR
# chmod +x ./check_raid.pl
Выполняем проверку запуска плагина с выводом поддерживаемых сриптом проверок для данной системы
# ./check_raid.pl --list-plugins

hp_msa hpacucli mdstat 3 active plugins
Как видим, скрипт на нашей системе поддерживает 3 типа проверок, так называемых "плагинов" (не путать с самим плагинами Icinga), то есть написанных внутри него модулей проверок разных типов. В контексте данной статьи нас интересует лишь тип проверки **mdstat**, который доступен нам, так как на сервере имеются программные RAID-массивы Linux **mdraid**. Попробуем выполнить проверку типа **mdstat**
# ./check_raid.pl --plugin mdstat
OK: mdstat:[md1(4.55 TiB raid6):UUUUUUUUUUUU, md0(4.55 TiB raid6):UUUUUUUUUUUU]
Как видим, плагин успешно опознал имеющиеся в нашей системе программные RAID-массивы ''md1''/''md0'' и выдал информацию об их текущем состоянии. \\ ---- ==== Icinga Director и check_raid ==== Теперь на стороне сервера **Icinga** в веб-консоли **Icinga Director** создаём команду, например "**check_raid_mdstat**" (с фактической командой вызова ''check_raid.pl --plugin mdstat'') {{:icinga:pasted:20180618-192837.png}} Затем на основе созданной ранее команды "**check_raid_mdstat**" создаём шаблон службы, например "**Disk array Linux RAID**" {{:icinga:pasted:20180618-193344.png}} Назначаем любым удобным способом шаблон службы на хосты, которые необходимо мониторить данной службой (разумеется на всех соответствующих хостах в каталоге ''$ICINGA_PLUGIN_DIR'' предварительно должен быть установлен плагин **check_raid.pl**). В нашем упрощённом примере создано правило **Apply Rule** с нацеливанием на имя конкретного сервера. {{:icinga:pasted:20180618-193605.png}} В конечном итоге получаем желаемый результат: {{:icinga:pasted:20180618-193926.png}} ---- \\ ==== mdraid и cron ==== Есть мнение, что периодически запускаемые в конфигурации по умолчанию (ежемесячно, в первое Воскресенье месяца в 00:57) проверки **mdraid** в задании планировщика **cron** (файл задания ''/etc/cron.d/mdadm'' с командой ''/usr/share/mdadm/checkarray --cron --all --idle --quiet'') в некоторых случаях могут отрицательно повлиять на производительность. Таким образом, имея настроенный мониторинг программных массивов **mdraid** средствами **Icinga**, можно отключить данные периодические проверки. Для меня данный вопрос пока остаётся открытым. \\ ---- Проверено на следующих конфигурациях: ^ Версия ОС на стороне клиента Icinga ^ Версия клиента Icinga ^ Скрипт и его версия ^ | Debian GNU/Linux 9.4 (Stretch) x86_64 | r2.7.0-1 | check_raid 4.0.8 (2017-09-01) | | Debian GNU/Linux 10.13 (Buster) x86_64 | r2.13.5-1 | check_raid 4.0.10 (2019-05-16) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 18.06.2018 19:22 {{tag>Icinga "Icinga Director" Monitoring Plugin RAID "Linux Software RAID" mdraid "Multiple Device" "Disk array" Storage Nagios Linux Debian cron Stretch Buster}} ~~DISCUSSION~~