Доброго времени суток, читатель! Сегодня займемся укрощением своих кривых ручонок и попробуем настроить мониторинг контролеров Adaptec на Hyper-V (core 2012r2) хостах при помощи Zabbix 3.2, PowerShell и консольной утилиты Adaptec RAID Controller Command Line Utility предназначенной для мониторинга и управления контролерами Adaptec.
И так, план действий таков: Zabbix агент получает с сервера список параметров для обработки, затем агент активной проверкой c использованием пользовательского параметра инициирует запуск PowerShell скрипта с полученным параметром. Скрипт запускает Adaptec RAID Controller Command Line Utility с переданным ему параметром, фильтрует вывод консольной утилиты и выдает только нужные нам данные (модель, состояние, состояние логического хранилища, состояние физических дисков, S/N дисков, предупреждения S.M.A.R.T. на дисках), затем агент передает данные на сервер.
Приступим — загружаем/клонируем репозиторий с необходимыми компонентами.
Распаковываем все в C:zabbix-adaptec. Добавляем нужные нам пользовательские параметры в конец zabbix-agentd.conf:
#Adaptec
UserParameter=adaptec.allinfo,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "allinfo"
UserParameter=adaptec.model,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "model"
UserParameter=adaptec.status,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "status"
#Adaptec Logical Device 0 Status
UserParameter=adaptec.ldstatus,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "ldstatus"
#Adaptec Physical Device Info
UserParameter=adaptec.pd0state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd0state"
UserParameter=adaptec.pd0sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd0sn"
UserParameter=adaptec.pd0smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd0smart"
UserParameter=adaptec.pd1state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd1state"
UserParameter=adaptec.pd1sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd1sn"
UserParameter=adaptec.pd1smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd1smart"
UserParameter=adaptec.pd2state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd2state"
UserParameter=adaptec.pd2sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd2sn"
UserParameter=adaptec.pd2smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd2smart"
UserParameter=adaptec.pd3state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd3state"
UserParameter=adaptec.pd3sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd3sn"
UserParameter=adaptec.pd3smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd3smart"
UserParameter=adaptec.pd4state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd4state"
UserParameter=adaptec.pd4sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd4sn"
UserParameter=adaptec.pd4smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd4smart"
UserParameter=adaptec.pd5state,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd5state"
UserParameter=adaptec.pd5sn,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd5sn"
UserParameter=adaptec.pd5smart,powershell.exe -file "C:zabbix-adapteczabbix-adaptec.ps1" "pd5smart"
Импортируем шаблон в Zabbix: template-adaptec.xml и вешаем его на нужный хост.
Перезапускаем агент и ждем данные!
В шаблоне имеем:
Controller Status, Logical Device 0 — satus, Physical Device from 0 to 5 state and S.M.A.R.T. warnings, S/N of devices и настроенные триггеры.
Автор: sysbes