Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

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

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


icinga:icinga-monitoring-of-hp-smart-array-and-msa-storage-raid-controllers-via-check_raid-plug-in-with-cciss_vol_status-tool

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
icinga:icinga-monitoring-of-hp-smart-array-and-msa-storage-raid-controllers-via-check_raid-plug-in-with-cciss_vol_status-tool [14.06.2018 16:50] Алексей Максимовicinga:icinga-monitoring-of-hp-smart-array-and-msa-storage-raid-controllers-via-check_raid-plug-in-with-cciss_vol_status-tool [15.06.2018 20:46] – [Icinga Director и check_cciss] Алексей Максимов
Строка 1: Строка 1:
-===== Мониторинг RAID-контроллеров HP Smart Array (и Compaq MSA) в Icinga с плагином check_raid =====+===== Мониторинг RAID-контроллеров HP Smart Array (и Compaq MSA) в Icinga с плагинами check_raid и check_cciss =====
  
 {{:icinga:pasted:20180614-164105.png }} Среди ряда публично доступных плагинов мониторинга **RAID**-контроллеров **HP Smart Array**, совместимых с **Icinga**,  {{:icinga:pasted:20180614-164105.png }} Среди ряда публично доступных плагинов мониторинга **RAID**-контроллеров **HP Smart Array**, совместимых с **Icinga**, 
Строка 8: Строка 8:
 ---- ----
 \\ \\
-==== Установка плагина check_raid ====+==== Плагин check_raid ====
  
 Плагин **check_raid** по своей сути - большой скрипт, написанный на **Perl**. Плагин является универсальным, так как поддерживает мониторинг множества разных типов RAID-контроллеров. Основная информация о плагине доступна на странице проекта: [[https://github.com/glensc/nagios-plugin-check_raid|nagios-plugin-check_raid]] Плагин **check_raid** по своей сути - большой скрипт, написанный на **Perl**. Плагин является универсальным, так как поддерживает мониторинг множества разных типов RAID-контроллеров. Основная информация о плагине доступна на странице проекта: [[https://github.com/glensc/nagios-plugin-check_raid|nagios-plugin-check_raid]]
Строка 128: Строка 128:
 ---- ----
  
-==== Настройка Icinga Director ====+==== Icinga Director и check_raid  ====
  
 Теперь на стороне сервера **Icinga** в веб-консоли **Icinga Director** создаём команду, например "**check_raid_cciss**" (с фактической командой вызова ''check_raid.pl --plugin cciss'') Теперь на стороне сервера **Icinga** в веб-консоли **Icinga Director** создаём команду, например "**check_raid_cciss**" (с фактической командой вызова ''check_raid.pl --plugin cciss'')
  
-{{ :icinga:pasted:20180614-161714.png }}+{{:icinga:pasted:20180614-161714.png}}
  
 Затем на основе созданной ранее команды "**check_raid_cciss**" создаём шаблон службы, например "**Disk array HP Compaq RAID**"  Затем на основе созданной ранее команды "**check_raid_cciss**" создаём шаблон службы, например "**Disk array HP Compaq RAID**"
  
-{{ :icinga:pasted:20180614-162023.png }}+{{:icinga:pasted:20180614-162023.png}}
  
 Назначаем любым удобным способом шаблон службы на хосты, которые необходимо мониторить данной службой  Назначаем любым удобным способом шаблон службы на хосты, которые необходимо мониторить данной службой 
 (разумеется на всех соответствующих хостах в каталоге ''$ICINGA_PLUGIN_DIR'' предварительно должен быть установлен плагин **check_raid.pl**). В нашем упрощённом примере создано правило **Apply Rule** с нацеливанием на имя конкретного сервера.  (разумеется на всех соответствующих хостах в каталоге ''$ICINGA_PLUGIN_DIR'' предварительно должен быть установлен плагин **check_raid.pl**). В нашем упрощённом примере создано правило **Apply Rule** с нацеливанием на имя конкретного сервера. 
  
-{{ :icinga:pasted:20180614-162337.png }}+{{:icinga:pasted:20180614-162337.png}}
  
 В конечном итоге получаем желаемый результат: В конечном итоге получаем желаемый результат:
  
-{{ :icinga:pasted:20180614-162819.png }}+{{:icinga:pasted:20180614-162819.png}}
  
 По аналогии можно создать и другие команды, например "**check_raid_hpacucli**" (с фактической командой вызова ''check_raid.pl hpacucli --bbu-monitoring'') и затем использовать эту команду при создании шаблона службы, которая так же будет в последующем назначена на хосты.  По аналогии можно создать и другие команды, например "**check_raid_hpacucli**" (с фактической командой вызова ''check_raid.pl hpacucli --bbu-monitoring'') и затем использовать эту команду при создании шаблона службы, которая так же будет в последующем назначена на хосты. 
  
-Однако в некоторых случаях для мониторинга контроллеров HP Smart Array более удобным может показаться и другой плагин **check_cciss**, установка которого описана в отдельной статье.+Однако в некоторых случаях для мониторинга контроллеров HP Smart Array более удобным может показаться и другой плагин **check_cciss**, установку которого рассмотрим далее.
  
 \\ \\
 ---- ----
  
-==== Установка плагина check_cciss ====+==== Плагин check_cciss ====
  
-Плагин+Плагин **check_cciss** по сути является обычный **shell**-скриптом. Этот плагин является более простым и узкоспециализированным, то есть, в отличие от рассмотренного выше плагина **check_raid**, данный плагин умеет мониторить только контроллеры **HP Smart Array**. Более подробную информацию о плагине можно получить на странице [[https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/RAID-Controllers/check_cciss--2D-HP-and-Compaq-Smart-Array-Hardware-status/details|check_cciss]]
  
 +На мой взгляд, данный плагин интересен тем, что имеет отлаженную возможность мониторинга кэш-батареи контроллера, а также позволяет получить более информативный вывод в случае необходимости, то есть можно включить отображение информации о каждом диске в массиве.  
 +
 +Чтобы было проще загрузить скрипт, я переложил его на github. Загружаем:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># wget https://raw.githubusercontent.com/Aleksey-Maksimov/Icinga2/master/plugins/check_cciss.sh \
 + --directory-prefix=$ICINGA_PLUGIN_DIR</pre></HTML>
 +
 +Делаем скрипт исполняемым:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># cd $ICINGA_PLUGIN_DIR
 +# chmod +x ./check_cciss.sh</pre></HTML>
 +
 +Чтобы проверить возможность запуска плагина и получить обильную справочную информацию о его использовании, выполним:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ./check_cciss.sh -h</pre></HTML>
 +
 +
 +На обновляемых из репозиториев HP системах вместо утилиты **hpssacli** сейчас используется утилита **ssacli**.
 +Синтаксис этих двух утилит схож. Поэтому, чтобы сделать возможной работу скрипта мониторинга сделаем линк:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ln -s /usr/sbin/ssacli /usr/sbin/hpssacli</pre></HTML>
 +
 +Проверим линк:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ls -la /usr/sbin/hpssacli</br><font style="color:#B2B2B2;">
 +lrwxrwxrwx. 1 root root 16 Jun 12 11:48 /usr/sbin/hpssacli -> /usr/sbin/ssacli</font></pre></HTML>
 +
 +
 +По умолчанию дотянутся до утилиты **ssacli** может только **root**:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ls -la /usr/sbin/ssacli</br><font style="color:#B2B2B2;">
 +-r-x------. 1 root root 174 May 17  2017 /usr/sbin/ssacli</font></pre></HTML>
 +
 +Дадим права на исполнение файла всем пользователям системы: 
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># chmod 555 /usr/sbin/ssacli
 +# ls -la /usr/sbin/ssacli</br><font style="color:#B2B2B2;">
 +-r-xr-xr-x. 1 root root 174 May 17  2017 /usr/sbin/ssacli</font></pre></HTML>
 +
 +Теперь нам потребуется дополнительно выдать права пользователю, от имени которого работает служба **Icinga** для возможности выполнения утилит диагностики HP без необходимости повышения уровня прав через **sudo**
 +Создадим файл настроек в ''/etc/sudoers.d/'':
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano /etc/sudoers.d/check_cciss</pre></HTML>
 +
 +Наполним файл содержимым:
 +
 +<file bash check_cciss>User_Alias CHECK_CCISS=nagios, icinga
 +Defaults:CHECK_CCISS !requiretty
 +#
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpacucli controller all show status
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpacucli controller * logicaldrive all show
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpacucli controller * physicaldrive all show
 +#
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpssacli controller all show status
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpssacli controller * logicaldrive all show
 +CHECK_CCISS ALL=(root) NOPASSWD: /usr/sbin/hpssacli controller * physicaldrive all show</file>
 +
 +
 +<WRAP center important 100%>Будьте внимательны.\\
 +Некорректные манипуляции с настройками **sudo** могут сломать возможность штатного повышения уровня прав для всех пользователей системы. В результате этого можно полностью потерять административный доступ к системе. В таком случае помогут только [[unix-linux:debian:stretch:how-to-restore-root-access-to-debian-linux-if-sudo-does-not-work|отдельные восстановительные меры]], использование которых потребует на некоторое время вывести сервер в **offline**.
 +</WRAP>
 +
 +
 +Проверяем работу плагина
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ./check_cciss.sh -v</br><font style="color:#B2B2B2;">
 +RAID OK:  Smart Array P400 in Slot 1 
 +array A logicaldrive 1 (68.3 GB, RAID 1, OK) 
 +array B logicaldrive 2 (68.3 GB, RAID 1, OK) 
 +[Controller Status: OK Cache Status: OK Battery/Capacitor Status: OK]
 +</font></pre></HTML>
 +
 +С дополнительным ключом ''-p'' в выводе плагина сможем видеть информацию о состоянии каждого диска. 
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># ./check_cciss.sh -v -p</br><font style="color:#B2B2B2;">
 +RAID OK:  Smart Array P400 in Slot 1 
 +array A logicaldrive 1 (68.3 GB, RAID 1, OK) 
 +array B logicaldrive 2 (68.3 GB, RAID 1, OK) 
 +physicaldrive 1I:1:5 (port 1I:box 1:bay 5, SAS, 72 GB, OK) 
 +physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SAS, 72 GB, OK) 
 +physicaldrive 1I:1:6 (port 1I:box 1:bay 6, SAS, 72 GB, OK) 
 +physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SAS, 72 GB, OK) 
 +[Controller Status: OK Cache Status: OK Battery/Capacitor Status: OK]
 +</font></pre></HTML>
 +
 +
 +\\
 +----
 +
 +==== Icinga Director и check_cciss  ====
 +
 +По аналогии с обозначенным выше примером, на стороне сервера Icinga в веб-консоли Icinga Director создаём команду, например "**check_cciss**" (с фактической командой вызова ''check_cciss.sh -v'')
 +
 +{{:icinga:pasted:20180614-173459.png}}
 +
 +Затем на основе созданной ранее команды "**check_cciss**" создаём шаблон службы, например "**Disk array HP Smart Array RAID**"
 +
 +{{:icinga:pasted:20180614-174011.png}}
 +
 +Назначаем любым удобным способом созданный шаблон службы на хосты, которые необходимо мониторить данной службой (разумеется на всех соответствующих хостах в каталоге ''$ICINGA_PLUGIN_DIR'' предварительно должен быть установлен плагин **check_cciss.sh**). 
 +В нашем упрощённом примере создано правило **Apply Rule** с нацеливанием на имена некоторых серверов по маске.
 +
 +{{:icinga:pasted:20180614-174353.png}}
 +
 +В конечном итоге получаем желаемый результат:
 +
 +{{:icinga:pasted:20180614-174706.png}}
  
 \\ \\
 ---- ----
 Проверено на следующих конфигурациях: Проверено на следующих конфигурациях:
-^ Версия ОС на стороне клиента Icinga ^ Версия клиента Icinga ^ Версия скрипта check_raid  ^ +^ Версия ОС на стороне клиента Icinga ^ Версия клиента Icinga ^ Скрипт и его версия  ^ 
-| Debian GNU/Linux 9.4 (Stretch) | r2.7.0-1 | 4.0.8 (2017-09-01) | +| Debian GNU/Linux 9.4 (Stretch) x86_64 | r2.7.0-1 | check_raid 4.0.8 (2017-09-01) | 
 +| Debian GNU/Linux 9.4 (Stretch) x86_64 | r2.7.0-1 | check_cciss 1.15 (2017/04/28) | 
 +| CentOS Linux release 7.5.1804 (Core) x86_64 | r2.8.4-1 | check_cciss 1.15 (2017/04/28) | 
  
 ---- ----
-{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Виталий Якоб]] \\ Время публикации: 14.06.2018 15:22+{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 14.06.2018 15:22
  
-{{tag>Icinga Monitoring Plugin HP "Smart Array" "Smart Array P400" P400 MSA "MSA 1000" RAID "Disk array" cciss Storage Nagios Linux Debian CentOS}}+{{tag>Icinga "Icinga Director" Monitoring Plugin HP "Smart Array" "Smart Array P400" P400 MSA "MSA 1000" RAID "Disk array" cciss Storage Nagios Linux Debian CentOS}}
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
icinga/icinga-monitoring-of-hp-smart-array-and-msa-storage-raid-controllers-via-check_raid-plug-in-with-cciss_vol_status-tool.txt · Последнее изменение: 17.10.2019 09:27 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki