Приведу пример простого мониторинга программного рейда mdadm в Zabbix.
Допустим на сервере настроен зеркальный рейд:
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda2[1] sdb2[2]
234295296 blocks super 1.2 [2/2] [UU]
bitmap: 2/2 pages [8KB], 65536KB chunk
Обычно когда один из дисков выпадает из рейд массива, то он отображается символом подчеркивания, а рабочие диски буквой U, как видим на примере, в зеркальном рейде оба диска рабочие UU.
Теперь выполним команду которая будет искать символы подчеркивания и считать их (если их нет, то на выводе будет 0):
egrep -c "\[.*_.*\]" /proc/mdstat
0
Теперь добавим ее в файл конфигурации /etc/zabbix/zabbix_agentd.conf:
UserParameter=cat_mdstat,egrep -c "\[.*_.*\]" /proc/mdstat
Перезапустим zabbix-agent чтобы применить изменения:
systemctl restart zabbix-agent
Можно проверить:
zabbix_agentd -t cat_mdstat
mdadm.status [t|0]
Теперь можно создать шаблон и добавить в него элемент данных cat_mdstat с типом zabbix-agent, а также сделать триггер который будет срабатывать если значение >0.
Я также сохранил свой шаблон тут
https://files.ixnfo.com/ZabbixTemplates/mdadm_template.yaml
Хочу заметить, что могут быть случаи, когда SSD диск начинает частично выходить со строя и при этом он будет оставаться в рейде, по этому необходимо настроить получение уведомлений на email от smartctl, чтобы получать результаты SMART тестов когда будут ошибки и в случае необходимости самостоятельно исключить проблемный диск из рейда.
Смотрите другие мои статьи про Zabbix
mdadm — утилита управления программными RAID массивами