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

  • Tutorial
Доброго времени суток, %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 и настроенные триггеры.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 6

    0
    Для единичного сервера с неизменной конфигурацией пойдёт. Но правильно было бы реализовать LLD.
      0
      Если серверов — десятки, то лучше мониторить количество логических дисков с статусом отличным от optimal, и на него повесить триггер. Читать текст SMART в заббиксе — странная идея, если есть реальная необходимость в ранних предупреждениях, то надо мониторить конкретные параметры. Но вообще сбой одного диска — вполне нормальная ситуация для RAIDа, зачем слушать подземный стук, когда проще заменить диск после выхода из строя?
        0
        А вы шифрование для агента настраивали? А если так, то сами компилили агент? Если компилировали сами, какую библиотеку шифрования использовали?
          0
          Нет, сборка сервера и агента с шифрованием, тема для отдельной статьи.
          0
          Прошу прощения, статья о том, как не надо мониторить.
          Как сказал Lelik13a, только LLD. А если контроллера 2, а если дисков другое количество, а если создано больше рейдов? Вы для людей делаете или для себя? Если для себя — зачем выкладывать?
            –1
            Я сделал пример без LLD, где-то написано что тут будет LLD? Изменить скрипт под ваши нужды не составит проблем, если у вас необходимость в мониторинге большого количества устройств с разной конфигурацией реализуйте LLD.

          Only users with full accounts can post comments. Log in, please.