Скрипт мониторит все адаптеры, но они должны иметь номера по порядку, наптимер 0, 1, 2. Если это не так, например 0, 2 - то работать не будет.
Скрипт имеет встроенную справку:
./lsimegaraid_discovery_trapper.sh help
WARNING: Correctly setup 'Hostname=' in config is REQUIRED!
INFO: Get info about all arrays;
Examples:
Discovery is default action:
./$(basename $0) - physdiscovery disks for all arrays.
./$(basename $0) discovery - physdiscovery disks for all arrays.
./$(basename $0) discovery virtdiscovery - virtdiscovery disks for all arrays.
Data sending to zabbix-server:
./$(basename $0) trapper - send data to zabbix for all arrays.
03.2015 - [email protected]
04.2018 - [email protected]
Скрипт поддерживает обнаружение (discovery) виртуальных и физических дисков в слотах. Отправка данных осуществляется через zabbix_sender
.
mkdir /etc/zabbix/scripts
chown root:zabbix -R /etc/zabbix/scripts
chmod 750 /etc/zabbix/scripts
chown root:zabbix /etc/zabbix/scripts/lsimegaraid_discovery_trapper.sh
chmod 750 /etc/zabbix/scripts/lsimegaraid_discovery_trapper.sh
Не забываем про настройки в скрипте, где нужно указать полные пути до необходимых программ и конфигурационных файлов:
# MegaCli нужно запускать через sudo
MEGACLI='/usr/bin/sudo /usr/local/sbin/MegaCli'
ZABBIX_SENDER='/usr/local/bin/zabbix_sender'
CONFIG='/etc/zabbix/zabbix_agentd.conf'
Hostname=<Имя узла сети>
service zabbix-agentd restart
zabbix_get -s HOST -k "lsimegaraid.data[Adp0,DriveSlot0, inquiry]"
не работает, так как данные отправляются через zabbix_sender и отсутствует соответствующий UserParam. Проверить можно discovery (должен вернуть json со списком адаптеров и дисков или виртуальных томов):
zabbix_get -s HOST -k "lsimegaraid.discovery[phisdiscovery]"
zabbix_get -s HOST -k "lsimegaraid.discovery[virtdiscovery]"
и trapper (вернёт 1 в случае, если данные на сервер отправлены, или 0 в случае ошибок):
zabbix_get -s HOST -k "lsimegaraid.trapper"
ВАЖНО: после назначения шаблона узлу сети, может пройти достаточно длительное время (десятки минут) прежде чем trapper начнёт успешно отправлять данные.