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

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

Zabbix

Делюсь полезным шаблоном для мониторинга RAID контроллеров LSI (Broadcom, Avago). Мониторим с помощью утилиты storcli. Шаблон делал сам.

Накаркал. Только недавно сделал шаблон для мониторинга LSI контроллеров в Linux и писал, что кто-то может и для Windows его проапгрейдить. И тут пришёл сервер с платой LSI на винде, пришлось доделывать шаблон самому.

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

Управление RAID контроллером LSI (Broadcom, Avago) с помощью StorCLI в Windows Server

Я проверял работу скриптов под Windows Server 2016 и Oracle Linux, но ничто не мешает это делать в прочих ОС. Нужно только установить утилиту storcli и её возможности вывода данных в виде JSON.

Шаблон использует низкоуровневое обнаружение LLD и находит:

  • controllers — контроллеры
  • logical disc — логические диски
  • physical discs — физические диски в Enclosure и Backplane
  • physical discs — физические диски без Enclosure и Backplane
  • cv — кэш с батарейкой
  • bbu — батарейки (не проверено)

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

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

https://share.zabbix.com/cat-server-hardware/raid-cards/lsi-avago-broadcom-template-using-json-outputs-of-storcli

https://github.com/mykolq/zabbix_lsi_template

Однако, в этом шаблоне есть ряд досадных минусов:

  • Выводятся данные только для одного контроллера. Остальные контролеры не видятся.
  • Автор почему-то не стал мониторить температуру контроллеров и кэша.
  • В системах с большим количеством дисков данные по ним тупо не помещаются в zabbix, слишком большой JSON.

Судя по комментариям у автора есть исправленная версия с поддержкой второго контроллера, но на гитхабе её нет.

В общем, я полез копаться в код и переделал там всё по-другому. Часть функционала оставил как было, например по батарейкам bbu. Не смог проверить, потому что у меня контроллеры с кэшом cv. Добавил автообнаружение контроллеров. Данные по физическим дискам вывел из короткой версии JSON, чтобы влезло в Zabbix. Добавил мониторинг температуры и дополнительные элементы данных.

В четвёртой версии шаблона придумал как обойти ограничение на размер JSON и добавил данные по физическим дискам из полной версии.

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

Zabbix шаблон для мониторинга RAID контроллеров LSI в Linux

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

Качаем архив: zabbix_lsi.zip

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

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

  • {$ADAP_DISCOVERY_PERIOD} — 1h. Периодичность автообнаружения контроллеров.
  • {$ADAP_HISTORY_PERIOD} — 30d. Срок хранения истории контроллеров.
  • {$ADAP_REQUEST_PERIOD} — 10m. Периодичность опроса контроллеров, кэша, батареек.
  • {$ADAP_THROTTLING_HB_PERIOD} — 3h. Срок тротлинга контроллера.
  • {$ADAP_TREND_PERIOD} — 180d. Срок хранения трендов контроллера.
  • {$BATTERY_HISTORY_PERIOD} — 30d. Срок хранения истории батареек и кэша.
  • {$BATTERY_REQUEST_PERIOD} — 10m. Периодичность опроса батареек и кэша.
  • {$BATTERY_TREND_PERIOD} — 180d. Срок хранения трендов батареек и кэша.
  • {$INTERNAL_ITEMS_HISTORY_PERIOD} — 30d. Срок хранения истории JSON логических и физических дисков.
  • {$LD_DISCOVERY_PERIOD} — 10m. Периодичность автообнаружения и опроса логических дисков.
  • {$LD_HISTORY_PERIOD} — 30d. Срок хранения истории логических дисков.
  • {$LD_REQUEST_PERIOD} — 10m. Периодичность опроса JSON логических дисков. Для просмотра всех параметров, которых нет в элементах данных.
  • {$LD_THROTTLING_HB_PERIOD} — 3h. Срок тротлинга логических дисков.
  • {$PD_DISCOVERY_PERIOD} — 10m. Периодичность автообнаружения и опроса физических дисков.
  • {$PD_HISTORY_PERIOD} — 30d. Срок хранения истории физических дисков.
  • {$PD_REQUEST_PERIOD} — 10m. Периодичность опроса JSON физических дисков. Для просмотра всех параметров, которых нет в элементах данных.
  • {$PD_THROTTLING_HB_PERIOD} — 3h. Срок тротлинга физических дисков.
  • {$PD_TREND_PERIOD} — 180d. Срок хранения трендов физических дисков.

А также настроить граничные значения температур в градусах Цельсия:

  • {$ADAP_CACHE_TEMP_CRIT} — 55. Критическая температура кэша.
  • {$ADAP_CACHE_TEMP_AVERAGE} — 45. Высокая температура кэша.
  • {$ADAP_CACHE_TEMP_WARNING} — 40. Повышенная температура кэша.
  • {$ADAP_ROC_TEMP_CRIT} — 90. Критическая температура чипа.
  • {$ADAP_ROC_TEMP_AVERAGE} — 80. Высокая температура чипа.
  • {$ADAP_ROC_TEMP_WARNING} — 70. Повышенная температура чипа.
  • {$PD_TEMP_CRIT} — 55. Критическая температура физического диска.
  • {$PD_TEMP_AVERAGE} — 50. Высокая температура физического диска.
  • {$PD_TEMP_WARNING} — 45. Повышенная температура физического диска.

zabbix

На сервере с контроллерами LSI устанавливаем утилиту storcli. Для удобства в архиве есть ZIP (007.1907.0000.0000_Unified_StorCLI-PUL.zip) и EXE (storcli64.exe) c текущей версией StorCLI. Утилита копируется в C:\zabbix\scripts.

Если у вас другой путь, то вам придётся править все скрипты.

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

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

  • C:\zabbix\scripts\lsistorcli_bbuinfo.bat
  • C:\zabbix\scripts\lsistorcli_ctlinfo.bat
  • C:\zabbix\scripts\lsistorcli_cvsinfo.bat
  • C:\zabbix\scripts\lsistorcli_ldinfo.bat
  • C:\zabbix\scripts\lsistorcli_pdinfo.bat
  • C:\zabbix\scripts\lsistorcli_pdinfo_all.bat
  • C:\zabbix\scripts\lsistorcli_pdinfo_ne.bat

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

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

Версии

v8

Добавлены элементы данных для контроллеров с BBU (Battery Backup Unit) вместо CV (Cache Vault).
Добавлен датчик температуры BBU и график к нему.
Добавлены графики заряда BBU.
Добавлены макросы для BBU.
Исправлен парсинг данных BBU и CV.
Добавлены элементы данных для контроллеров с CV (Cache Vault).
Внесены исправления в скрипты для Linux и ESXi.
Включено игнорирование данных если нет BBU или CV, ошибка подавлена.

v7

Добавлена версия для ESXi 7.

v6

Добавлена версия скриптов для sh в Linux. Ранее был вариант только для bash. Скрипты версии sh можно использовать в ESXi 7.

v5

Вышла пятая версия шаблона. Исправлен триггер:

{HOST.NAME}: LSI controller {#CTLID} physical disk "{#PDID}" [{#EID}] state is "{ITEM.LASTVALUE}" (HW)

В Problem expression убрана проверка на "Unconfigured-Good", это ж не баг.

В Recovery expression добавлены статусы Optimal и Spare (должно сработать и на Dedicated Hot Spare и на Global Hot Spare).

Картинки

 

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

Zabbix шаблон для мониторинга RAID контроллеров LSI в ESXi 7

Сегодня серьёзная тема по мониторингу LSI контроллеров на гипервизорах ESXi 7. Очень много стало появляться аппаратных серверов, которые не могут и не умеют сообщать о том, что вышел из строя диск

Zabbix шаблон для мониторинга RAID контроллеров LSI в Linux

Делюсь полезным шаблоном для мониторинга RAID контроллеров LSI (Broadcom, Avago). Мониторим с помощью утилиты storcli. Шаблон делал сам.

Zabbix шаблон для мониторинга RAID контроллеров LSI, 4-я версия

Сижу я вечером дома после работы, вдруг, понимаю как вытащить данные о температуре и ошибках физических дисков контроллеров LSI.