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

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

Zabbix

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

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

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

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

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

  • controllers — контроллеры
  • logical disc — логические диски
  • physical discs — физические диски в Enclosure и Backplane
  • physical discs ne — физические диски без 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 и добавил данные по физическим дискам из полной версии.

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

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

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

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

Импортируем шаблон zbx_lsi_json_lld.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. Для удобства в архиве есть DEB (storcli_007.0916.0000.0000_all.deb) и RPM (storcli-007.0916.0000.0000-1.noarch.rpm) пакеты. Утилита устанавливается в /opt/MegaRAID/storcli/storcli64.

Копируем lsi_raid_linux.conf в папку с пользовательскими переменными, у меня это /etc/zabbix/zabbix_agentd.conf.d/lsi_raid_linux.conf. Не забываем про владельца и права:

chown root\: /etc/zabbix/zabbix_agentd.conf.d/lsi_raid_linux.conf
chmod 644 /etc/zabbix/zabbix_agentd.conf.d/lsi_raid_linux.conf

Копируем папку со скриптами в /etc/zabbix/scripts/. Есть два варианта скриптов, на bash и на sh. В ней у нас:

  • /etc/zabbix/scripts/lsistorcli_bbuinfo.sh
  • /etc/zabbix/scripts/lsistorcli_ctlinfo.sh
  • /etc/zabbix/scripts/lsistorcli_cvsinfo.sh
  • /etc/zabbix/scripts/lsistorcli_ldinfo.sh
  • /etc/zabbix/scripts/lsistorcli_pdinfo.sh
  • /etc/zabbix/scripts/lsistorcli_pdinfo_all.sh
  • /etc/zabbix/scripts/lsistorcli_pdinfo_ne.sh

Не забываем про владельца и права:

chown -R root\: /etc/zabbix/scripts
chmod a+x /etc/zabbix/scripts/*

Копируем sudoers_zabbix_lsistorcli в /etc/sudoers.d. Не забываем про владельца и права:

chown root\: /etc/sudoers.d/sudoers_zabbix_lsistorcli
chmod 644 /etc/sudoers.d/sudoers_zabbix_lsistorcli

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

service zabbix-agent restart

Версии

v9

Исправлены скрипты для sh.

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. Ранее был вариант только для 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 в Windows

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

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

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

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

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