Раньше для мониторинга программных RAID массивов в Linux я пользовался сторонним шаблоном, до тех пор, пока у меня не пропал SPARE диск. Я узнал об этом случайно, потому что SPARE диски обычным шаблоном не определялись. Пришлось писать шаблон самому.
Мой шаблон работает на основе утилиты mdadm. Список MD массивов определяется автоматически. В шаблоне 2 элемента данных, 10 прототипов элементов данных и 13 прототипов триггеров. Я читал мануал ядра Linux, но так и не смог определить все варианты статусов MD массива, которые выводятся утилитой mdadm, поэтому точно определяю статусы active и clean, в другом случае сработает триггер. Вы можете добавлять свои статусы, чтобы избавиться от ложных срабатываний.
С переводами строк разберитесь, могут быть несовпадения, т.к. файлы редактирую в Windows.
Установка шаблона
Качаем шаблон для Zabbix 5.0: zabbix_mdadm
Импортируем шаблон zbx5_mdadm_linux.xml. Подключаем шаблон к хостам.
В макросах шаблона можно отредактировать периодичность опроса данных:
- {$MD_DISCOVERY_PERIOD} — 1h. Периодичность автообнаружения массивов.
- {$MD_HISTORY_PERIOD} — 30d. Срок хранения истории.
- {$MD_HOT_PERIOD} — 5m. Периодичность опроса важных данных.
- {$MD_LONG_PERIOD} — 1h. Периодичность опроса данных, которые нужно получать не часто.
- {$MD_SHORT_PERIOD} — 10m. Периодичность опроса данных.
- {$MD_TREND_PERIOD} — 180d. Срок хранения трендов.
На серверах, которые собираемся мониторить, установим mdadm:
apt-get install mdadm
или
yum install mdadm
Копируем userparameter_md.conf в папку с пользовательскими переменными, у меня это /etc/zabbix/zabbix_agentd.conf.d/userparameter_md.conf. Не забываем про владельца и права:
chown root\: /etc/zabbix/zabbix_agentd.conf.d/userparameter_md.conf
chmod 644 /etc/zabbix/zabbix_agentd.conf.d/userparameter_md.conf
Копируем папку со скриптами в /etc/zabbix/scripts/. В ней у нас:
- /etc/zabbix/scripts/md_active_devices.sh
- /etc/zabbix/scripts/md_array_size.sh
- /etc/zabbix/scripts/md_failed_devices.sh
- /etc/zabbix/scripts/md_raid_devices.sh
- /etc/zabbix/scripts/md_raid_level.sh
- /etc/zabbix/scripts/md_spare_devices.sh
- /etc/zabbix/scripts/md_state.sh
- /etc/zabbix/scripts/md_total_devices.sh
- /etc/zabbix/scripts/md_used_dev_size.sh
- /etc/zabbix/scripts/md_working_devices.sh
Не забываем про владельца и права:
chown -R root\: /etc/zabbix/scripts
chmod a+x /etc/zabbix/scripts/*
Копируем sudoers_zabbix_md в /etc/sudoers.d. Не забываем про владельца и права:
chown root\: /etc/sudoers.d/sudoers_zabbix_md
chmod 644 /etc/sudoers.d/sudoers_zabbix_md
Перезапускаем агент:
service zabbix-agent restart
Версии
v2 — исправления триггеров.
v3 — новые триггеры и исправление триггеров.
v4 — добавлен мониторинг минимальной и максимальной скорости синхронизации массивов, новые триггеры и исправление триггеров.
v5 — добавлен новый прототип триггера при падении массива в статус inactive.