Среди ряда публично доступных плагинов мониторинга программной реализации RAID в ОС Linux на базе Linux Software RAID (Multiple Device/MD RAID/mdraid), совместимых с Icinga, по функциональным возможностям можно выделить плагин: check_raid. В этой статье мы рассмотрим пример установки и простейшей настройки плагина check_raid.
Плагин check_raid по своей сути - большой скрипт, написанный на Perl. Плагин является универсальным, так как поддерживает мониторинг множества разных типов RAID-контроллеров. Основная информация о плагине доступна на странице проекта: nagios-plugin-check_raid
Если заглянем в 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 в веб-консоли Icinga Director создаём команду, например «check_raid_mdstat» (с фактической командой вызова check_raid.pl –plugin mdstat
)
Затем на основе созданной ранее команды «check_raid_mdstat» создаём шаблон службы, например «Disk array Linux RAID»
Назначаем любым удобным способом шаблон службы на хосты, которые необходимо мониторить данной службой
(разумеется на всех соответствующих хостах в каталоге $ICINGA_PLUGIN_DIR
предварительно должен быть установлен плагин check_raid.pl). В нашем упрощённом примере создано правило Apply Rule с нацеливанием на имя конкретного сервера.
В конечном итоге получаем желаемый результат:
Есть мнение, что периодически запускаемые в конфигурации по умолчанию (ежемесячно, в первое Воскресенье месяца в 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) |
Автор первичной редакции:
Алексей Максимов
Время публикации: 18.06.2018 19:22