Короткий ответ

Пока RAID degraded, у вас есть время до второго отказа. Если Zabbix этого не видит — вы узнаете уже про простой. Нужны item'ы контроллера или mdadm: состояние массива, число failed, rebuild. SMART на дисках — соседняя статья, он не заменяет статус RAID-пакета. ICMP живой при мёртвом диске в зеркале. Место на FS — диск заранее. SNMP СХД: SNMP.

Хост WS-042, poller 10.0.20.50, PSK psk-ws042.

Симптомы и как отличить

Типичная картина:

  • iDRAC/megacli показывает failed, Problems пуст;
  • /proc/mdstat [UU_] , Zabbix не смотрит;
  • Windows Storage Spaces degraded;
  • СХД по SNMP, ACL не пускает 10.0.20.50.

Отличия:

СигналСлой
Reallocated sectors растут, RAID OptimalSMART, меняйте диск планово
RAID degraded, SMART окэтот материал (контроллер выбил диск)
FS 100%место, не RAID
Хост лежитпитание/ОС, не только RAID

Возможные причины

  1. Нет UserParameter/шаблона под ваш контроллер (MegaRAID, HP Smart Array, md, Spaces).
  2. Утилита есть, агент не в PATH/AllowKey.
  3. СХД только SNMP, community/ACL не настроены.
  4. Триггер смотрит текст «OK» на английском, контроллер шлёт другой locale.
  5. Rebuild не алертится — а должен как Warning (идёт риск).
  6. Редко: RAID в гипервизоре, вы мониторите гостя WS-042, не хост.

Диагностика

1. Какой RAID вообще

На Linux хосте:

cat /proc/mdstat
lsblk -o NAME,TYPE,SIZE
which megacli storcli mdadm ssacli

Windows:

Get-StoragePool | Format-Table FriendlyName, HealthStatus
Get-PhysicalDisk | Format-Table FriendlyName, HealthStatus, OperationalStatus

Нет ни md, ни пула, ни RAID-карты — возможно software в hypervisor. Тогда item на хосте гипервизора, не в госте.

2. Есть ли item в Zabbix

Latest data: mdraid, megaraid, physicaldisk. Пусто = не «плохо парсится», а не собрано.

3. Права агента

storcli часто нужен root. UserParameter через sudoers одной команде, не ALL. Проверка:

zabbix_get -s 10.0.20.42 -p 10050 -k 'raid.md.status' \
  --tls-connect psk --tls-psk-identity psk-ws042 \
  --tls-psk-file /etc/zabbix/psk-ws042.psk

Ключ — ваш UserParameter. Unsupported — ключи.

4. SNMP СХД

snmpwalk -v2c -c 'COMMUNITY' udp:10.0.20.20:161 | head

Нет ответа — сначала SNMP статья. Есть — ищите OID failed drives вендора, не выдумывайте.

Решение

Сценарий A. Linux mdadm

UserParameter (идея, путь абсолютный):

# /etc/zabbix/zabbix_agent2.d/raid.conf
UserParameter=raid.md.degraded,grep -c '\[.*_.*\]' /proc/mdstat

Точнее — парсер, который отличает recovery от fail. Триггер: degraded ≥ 1 → High. Не grep по «UUU» вслепую на хосте без md (ложный 0 vs unsupported).

AllowKey точечно, рестарт zabbix-agent2.

Сценарий B. MegaRAID / HP

Официальные шаблоны Zabbix или vendor userparameter, которые возвращают число failed и optimal/degraded. Не парсите весь HTML iLO в item.

sudoers:

zabbix ALL=(root) NOPASSWD: /usr/sbin/storcli64 /c0 show

Только эта команда.

Сценарий C. Windows Spaces / Hardware RAID

Item на HealthStatus -ne 'Healthy'. WMI/PowerShell через agent 2 plugin или UserParameter. Не включайте неограниченный system.run[*].

Сценарий D. СХД SNMP

Шаблон вендора, ACL source 10.0.20.50. Триггер degraded lun/disk. Rebuild — Warning.

Сценарий E. Гость vs хост

Если WS-042 — VM, RAID хоста виртуализации мониторится там. В госте вы увидите только виртуальный диск «всегда OK».

Зависимости: не глушить RAID-degraded из-за высокого CPU.

Как проверить, что проблема устранена

На стенде: fail диск в тестовом массиве → PROBLEM за интервал item (1–5 мин). Rebuild → Warning. Restore disk → OK. На проде: сверка с контроллером «Optimal» = OK в Latest data. Светодиод failed без PROBLEM = дыра, не закрывайте задачу.

systemctl status zabbix-agent2 --no-pager

Агент должен быть жив, иначе RAID item не придёт — но тогда сработает агент unavailable, не статус диска.

Если не помогло

  • Утилита вернула JSON, preprocessing не тот — Test.
  • Locale Оптимально vs Optimal — парсьте код статуса, не строку UI.
  • Battery BBU failed — отдельный item, тоже важен для write-back.
  • Два контроллера, смотрите /c1.

Профилактика

  • Приёмка сервера: RAID item в чеклисте вместе с агентом.
  • Spare disk мониторить как «есть hot spare».
  • Документ: кто меняет диск 24/7.
  • Не считать SMART единственным датчиком.
  • UI zabbix.example должен показывать degraded до того, как погаснет второй диск массива.

Гость WS-042 не видит RAID гипервизора. Зелёный виртуальный диск при мёртвом зеркале хоста хуже, чем отсутствие мониторинга: команда верит картинке. Item массива живут на физическом сервере или на СХД по SNMP с 10.0.20.50. В карте алертов degraded гипервизора должен будить раньше, чем гости начнут «просто тормозить».

Батарея контроллера: failed BBU переводит кэш в write-through. Это не lost disk, но деградация записи — отдельный Warning. Rebuild — Warning «идёт окно риска», не Info, которое никто не читает. Отсутствие hot spare — Warning, если spare обязателен политикой.

Не вынимайте диск из единственного зеркала учётки «проверить Zabbix». Стенд или процедура вендора на RAID6. Цель теста — срабатывание item, не храбрость.

Зафиксируйте в CMDB, какой массив у какого сервера: md, MegaRAID, Spaces, SNMP СХД. Иначе через год ищут storcli на машине с одним mdadm. Item «число failed» плюс «optimal/degraded» плюс rebuild покрывают 90% тикетов до второго отказа. SNMP с 10.0.20.50 не забудьте в ACL полки.

FAQ

RAID-Z / ZFS вместо md?

Тот же принцип: zpool status degraded/unavail, не только df. Ключи другие, смысл один.

Достаточно ли SNMP trap с контроллера?

Trap полезен, но без polling пропустите потерянный trap. Poll статуса обязателен.

Можно ли мониторить только LED через камеру?

Нет.

Rebuild грузит диски — алертить CPU?

Можно Warning, но корневой — «идёт rebuild». Не зависите RAID от CPU.

Програмный RAID в Windows на WS-042

Storage Spaces / Dynamic disks — WMI Health. Hardware RAID BIOS вы в госте не увидите.

Нужен ли LLD дисков?

Да, чтобы новый failed slot сам появился. Фильтры: не USB-флешки. Lifetime разумный.