Короткий ответ
Пока 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 Optimal | SMART, меняйте диск планово |
| RAID degraded, SMART ок | этот материал (контроллер выбил диск) |
| FS 100% | место, не RAID |
| Хост лежит | питание/ОС, не только RAID |
Возможные причины
- Нет UserParameter/шаблона под ваш контроллер (MegaRAID, HP Smart Array, md, Spaces).
- Утилита есть, агент не в PATH/
AllowKey. - СХД только SNMP, community/ACL не настроены.
- Триггер смотрит текст «OK» на английском, контроллер шлёт другой locale.
- Rebuild не алертится — а должен как Warning (идёт риск).
- Редко: RAID в гипервизоре, вы мониторите гостя
WS-042, не хост.
Диагностика
1. Какой RAID вообще
На Linux хосте:
cat /proc/mdstat
lsblk -o NAME,TYPE,SIZE
which megacli storcli mdadm ssacliWindows:
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
ОптимальноvsOptimal— парсьте код статуса, не строку 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 разумный.