Pull to refresh

Zabbix 3.X: мониторинг контролеров Adaptec в Windows Server (Hyper-V Core)

Reading time 3 min
Views 10K
Доброго времени суток, %habrauser%! Сегодня займемся укрощением своих кривых ручонок и попробуем настроить мониторинг контролеров 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-adaptec\zabbix-adaptec.ps1" "allinfo"

UserParameter=adaptec.model,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "model"
UserParameter=adaptec.status,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "status"

#Adaptec Logical Device 0 Status
UserParameter=adaptec.ldstatus,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "ldstatus"

#Adaptec Physical Device Info
UserParameter=adaptec.pd0state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd0state"
UserParameter=adaptec.pd0sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd0sn"
UserParameter=adaptec.pd0smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd0smart"

UserParameter=adaptec.pd1state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd1state"
UserParameter=adaptec.pd1sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd1sn"
UserParameter=adaptec.pd1smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd1smart"

UserParameter=adaptec.pd2state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd2state"
UserParameter=adaptec.pd2sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd2sn"
UserParameter=adaptec.pd2smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd2smart"

UserParameter=adaptec.pd3state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd3state"
UserParameter=adaptec.pd3sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd3sn"
UserParameter=adaptec.pd3smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd3smart"

UserParameter=adaptec.pd4state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd4state"
UserParameter=adaptec.pd4sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd4sn"
UserParameter=adaptec.pd4smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd4smart"

UserParameter=adaptec.pd5state,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd5state"
UserParameter=adaptec.pd5sn,powershell.exe -file "C:\zabbix-adaptec\zabbix-adaptec.ps1" "pd5sn"
UserParameter=adaptec.pd5smart,powershell.exe -file "C:\zabbix-adaptec\zabbix-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 и настроенные триггеры.
Tags:
Hubs:
+11
Comments 6
Comments Comments 6

Articles