Перейти к основному содержанию
 

Zabbix шаблон для мониторинга RAID контроллеров Intel RSTe и VROC в Windows

Zabbix

Делюсь полезным шаблоном для мониторинга программных RAID контроллеров Intel RST (Rapid Storage Technology), Intel RSTe (Intel Rapid Enterprise), Intel VROC (Virtual RAID on CPU).

Скачать шаблон для Zabbix 5.0: zabbix_intel_rst_vroc.zip

Мониторим с помощью утилит CLI. В пакете есть следующие утилиты:

zabbix

В зависимости от установленного в системе драйвера для RAID контроллера используется подходящая утилита CLI:

  • 13_16_rstcli64.exe — для драйвера версии ниже 1.7.0.
  • 4.6.0_rstcli64.exe — для драйвера версии ниже 5.0.0.
  • 5.0.0_rstcli64.exe — для драйвера версии ниже 5.0.3.
  • 5.0.3_rstcli64.exe — для драйвера версии ниже 5.3.0.
  • 5.3.0_rstcli64.exe — для драйвера версии ниже 5.6.0.
  • 5.6.0_rstcli64.exe — для драйвера версии ниже 6.1.0.
  • IntelVROCCli.exe — для драйвера версии ниже 6.2.0.
  • rstcli64.exe — для остальных случаев.

Не уверен в точности соответствия версий и утилит, возможно, в дальнейшем потребуется корректировка в BAT файле и препроцессинге элемента данных "RST cli path".

В папке old есть более старая утилита IntelVROCCli.exe, вдруг, кому-то пригодится.

Шаблон получает все данные от CLI, затем, используя javascript и регулярные выражения, с помощью низкоуровневого обнаружения LLD находит:

  • Контроллеры
  • Массивы
  • Логические диски
  • Физические диски

Можно было бы не заморачиваться с регулярными выражениями, если бы работало опция --xml, которая имеется в описании CLI IntelVROCCli.exe. Однако, вывод в XML не работает, о чём я нашёл подтверждение в документации к CLI.

Благодарности

Мой шаблон основан вот на этом шаблоне (автор Николай Куликов):

https://github.com/mykolq/zabbix_intel_rst_template

Изначально предполагалось создание локального пользователя, который в автоматическом режиме прописывал в макрос путь к CLI. Мне это не понравилось, я сделал автоматическое определение CLI по версии драйвера в файле BAT, который при первом запуске определяет драйвер и записывает путь CLI в текстовый файл. Если драйвер изменится, то нужно на сервере вручную удалить файл RST.txt. Можно избавиться от этого текстового файла и модифицировать скрипт, но тогда каждый раз при запросе будет определяться версия драйвера, а эта процедура отрабатывает секунд пять, не очень быстро. Ещё можно сделать полную автоматизацию, как у Николая, написав скрипт для обновления RST.txt в планировщике. Но, поскольку, я не собираюсь обновлять версию драйвера RST без особых причин, то не буду делать автоматизацию. Для защиты от дурака сделал триггер, который сравнивает текущий путь CLI и определённый по версии драйвера в системе. Вдруг, кто-то полезет на сервер и начнёт всё бездумно обновлять.

Добавил к исходному шаблону функционал определения контроллеров и массивов. Ну и добавил все элементы данных, которые возвращает мой RST контроллер.

А за набор CLI утилит спасибо Николаю. Я там только заменил IntelVROCCli.exe на более новый.

Установка шаблона в Linux

Отдельный мониторинг Intel RST в Linux не требуется. Для мониторинга Intel RST, Intel RSTe, Intel VROC в Linux необходимо использовать утилиту mdadm:

Zabbix — мониторинг программных RAID массивов в Linux

Установка шаблона в Windows

Качаем архив zabbix_intel_rst_vroc.zip

Импортируем шаблон zbx5_intel_rst_vroc.xml.

В макросах шаблона можно отредактировать параметры:

  • {$ARRAY_HISTORY_PERIOD} — 30d. Срок хранения истории массивов.
  • {$ARRAY_THROTTLING_HB_PERIOD} — 6h. Срок тротлинга массивов.
  • {$CTRL_HISTORY_PERIOD} — 30d. Срок хранения истории контроллеров.
  • {$CTRL_THROTTLING_HB_PERIOD} — 6h. Срок тротлинга контроллеров.
  • {$INTERNAL_ITEMS_HISTORY_PERIOD} — 30d. Срок хранения истории внутренних элементов.
  • {$INTERNAL_ITEMS_NODATA} — 1h. Для триггеров. Интервал, в течение которого допускается отсутствие данных от RST.
  • {$INTERNAL_ITEMS_REQUEST_PERIOD} — 5m. Периодичность опроса RST. Основной интервал.
  • {$LD_HIGH_SEVERITY_STATES} — Degraded|Failed. Для триггеров. Критичные статусы локальных дисков.
  • {$LD_HISTORY_PERIOD} — 30d. Срок хранения истории локальных дисков.
  • {$LD_INFORMATION_SEVERITY_STATES} — Initializing. Для триггеров. Информационные статусы локальных дисков.
  • {$LD_RECOVERY_STATES} — Normal. Для триггеров. Нормальные статусы локальных дисков.
  • {$LD_THROTTLING_HB_PERIOD} — 3h. Срок тротлинга локальных дисков.
  • {$LD_WARNING_SEVERITY_STATES} — Rebuilding|Verify and Fix. Для триггеров. Предупреждающие статусы локальных дисков.
  • {$PD_HIGH_SEVERITY_STATES} — Missing|Failed|Degraded|Smart event triggered. Для триггеров. Критичные статусы физических дисков.
  • {$PD_HISTORY_PERIOD} — 30d. Срок хранения истории физических дисков.
  • {$PD_INFORMATION_SEVERITY_STATES} — Online|Initialize. Для триггеров. Информационные статусы физических дисков.
  • {$PD_RECOVERY_STATES} — Normal. Для триггеров. Нормальные статусы физических дисков.
  • {$PD_THROTTLING_HB_PERIOD} — 3h. Срок тротлинга физических дисков.
  • {$PD_WARNING_SEVERITY_STATES} — Verify|Rebuilding|Offline|Incompatible. Для триггеров. Предупреждающие статусы физических дисков.
  • {$RSTCLI_REQUEST_PERIOD} — 6h. Периодичность опроса версий драйвера RST.

zabbix

Копируем rst.conf в папку с пользовательскими переменными, у меня это C:\zabbix\zabbix_agent.conf.d\rst.conf. В конфигурации агента этот файл должен быть подключен.

Копируем папку со скриптами в C:\zabbix\scripts. В ней у нас:

  • rst — папка с утилитами RST
  • rst.bat — скрипт для получения данных RST
  • rstcurrent.bat — скрипт для получения текущей утилиты RST CLI

Перезапускаем агент:

net stop "Zabbix Agent" && net start "Zabbix Agent"

Версии

v.1 от 03.07.2022

Начальная версия

v.2 от 05.12.2022

Упрощено регулярное выражение для LLD контроллеров. В некоторых случаях обработка регулярки уходила в бесконечный цикл, непонятно почему. И нагрузку на сервер снизили.

zabbix

Картинки

 

Похожие материалы

Zabbix шаблон для мониторинга СХД HP MSA 2040 и HP MSA 2050

Делюсь полезным шаблоном для мониторинга СХД HP MSA 2040 и HP MSA 2050. В шаблоне 580 элементов данных и 716 триггеров. Работает на основе получаемых от СХД SNMP traps.

Zabbix шаблон для мониторинга СХД — IBM Storwize V3700 или V7000

Делюсь полезными шаблонами для мониторинга СХД IBM Storwize V3700 или V7000. В шаблоне 430 элементов данных с триггерами. Работает на основе получаемых от СХД SNMP traps.

Zabbix — добавление элемента данных и триггера для HP MSA 2050

Появилась необходимость мониторить HP MSA 2050.  Я уже выкладывал Zabbix шаблон для мониторинга СХД - HP MSA 2040. Шаблон от HP MSA 2040 вполне подходит для мониторинга HP MSA 2050, но есть тонкость: в новом СХД добавились новые трапы. В этой статье я приведу пример, как добавить в шаблон новый неизвестный трап. Итак, от HP MSA 2050 пришёл неизвестный трап: