Мониторинг серверных с Wiren Board NetMon-1
Привет!
Мы сделали контроллер c Linux в серверную стойку для мониторинга климата и оборудования и управления питанием и спешим поделиться с общественностью.
—
ВведениеNetMon-1 применяется для задач автоматизации и мониторинга в стойках, серверных и датацентрах. К контроллеру можно подключать разные датчики и исполнительные устройства. В контроллере есть встроенный GSM-модем для резервного канала и СМС, и встроенные аккумуляторы.
Внутри контроллера — Debian Linux, mainline-ядро (3.19) и наш софт. Платформа полностью открытая: у пользователей есть не только доступ к Linux, но и исходники всего ПО, с которым контроллер поставляется, включая наше собственное.
В открытую продажу Wiren Board NetMon-1 выпущен только сейчас, но отдельным клиентам он поставлялся с ноября прошлого года. У покупателей сейчас работает около 250 таких устройств.
Железо Контроллер собран в стандартном 1U корпусе в 19» стойку. Корпус пластиковый с вентиляционными отверстиями, в комплекте есть уши для крепления к стойке.
Используется стандартная для Wiren Board аппаратная платформа: наш процессорный модуль WB-IMX233-CORE с процессором i.mx233 (ARM9 454MHz) и 64MB RAM. Этот процессор полностью поддерживается в свежем Linux и входит в программу длительной доступности от Freescale.Для операционной системы и пользовательских данных отведено 8GB flash-памяти.
На переднюю панель контроллера выведен один порт Ethernet 10/100, через него контроллер может питаться по passive PoE (12V и 15V).
Контроллер комплектуется большим количеством интерфейсов: 2 порта RS-485, 2 порта RS-232, порт 1-wire.Для контроля оборудования и подключения датчиков есть 22 цифровых входа для сигналов типа «сухой контакт», 8 аналоговых входов.Все интерфейсы и входы выведены на 16 розеток 8P8C.
В контроллере есть встроенный GSM/GPRS-модем (2G) на модуле SIMCOM SIM900. Его можно использовать для того, чтобы поднимать по GPRS резервный канал в Интернет или для отправки/приёма СМС.
Есть выходы для коммутации внешней нагрузки.
На задней панели расположены две пары разъёмов IEC-320-C13/C14 (вилка и розетка). Каждая пара коммутируется независимо, к каждой розетке можно подключать до 3 кВт нагрузки. По запросу отгружается версия с общим входом C14 на два выхода C13.Для коммутации используются качественные нормально-замкнутые реле от TE.
На передней панели расположены выходы 4-х перекидных реле, к которым можно подключать до киловатта нагрузки. Выходы выведены на разъёмные клеммники.
Как опция доступен датчик температуры и влажности внутри корпуса.
В оставшемся свободном пространстве устанавливаются литий-ионные аккумуляторы. Время автономной работы контроллера от аккумуляторов зависит от нагрузки и ёмкости, и составляет до 7 часов на двух банках 1800mAh. Аккумуляторы заряжаются контроллером автоматически при наличии внешнего питания. Дополнительно предусмотрена защита от переразряда банок и от зарядки при слишком большой или слишком маленькой температуре.
Внутри контроллера также есть порт USB-host в который можно установить, например, дополнительный 3G-модем, Wi-Fi-свисток и т.д. Никаких ограничений по подключаемым устройствам нет.
Важный момент: в контроллере установлен блок аппаратного сторожевого таймера (watchdog), который независим от основной схемы и может перезагружать контроллер по питанию. Это очень полезная функция для ответственных применений и использования в местах, куда затруднён выезд техника.
Гик-порн:
Поддерживаемое оборудование Благодаря наличию большого количества интерфейсов и поддержке в нашем ПО, к Wiren Board NetMon-1 можно подключать много различных устройств.
В целом список почти полностью совпадает с оборудованием поддерживаемым нашим контроллером на DIN — Wiren Board 4. Недавно мы писали про это статью-обзор на Хабр.
Ниже приведён краткий список того, что можно подключить и что *поддерживается в нашем ПО* т.е. интегрировано с веб-интерфейсом, системой правил и т.д.
Вкратце, подключать можно:
К цифровым входам («сухой контакт»): Выходы состояния оборудования Счётчики воды, газа, электричества с импульсными выходами Герконы, датчики открытия, датчики вскрытия, датчики движения Кнопки и переключатели Датчики наличия 220V Датчики дыма, другие датчики с цифровым выходом К аналоговым входам (АЦП): Датчики с аналоговым выходом по напряжению Датчики с аналоговым токовым выходом (с внешним резистором). Некоторые розетки 8P8C сразу содержат необходимый источник напряжения для удобства. Датчики с резистивным выходом (с внешним резистором): электрохимические датчики газа, дыма и качества воздуха, термисторы Аналоговые датчики с внешним питанием. Например датчики влажности на чипах Honeywell разных производителей. К портам 1-Wire (можно подключать много устройств параллельно)Датчики температуры на чипах DS18B20 Датчики температуры и влажности (*) через порты RS-485 (можно подключать много устройств параллельно)Различные устройства с протоколом Modbus RTU, в том числе нашего производства Датчики температуры, влажности, давления, освещённости Релейные блоки Диммеры для светодиодных лент и для ламп накаливания Блоки с дополнительными сухими контактами Счётчики электричества Меркурий Блоки для отправки IR-сигналов для управления кондиционером (*) Через релейные выходыСиловую нагрузку напрямую Управляемые розетки * — work in progress, пока без интеграции с веб-интерфейсом
Мы поддерживаем в вики список протестированных моделей устройств и датчиков, многие устройства можно купить у нас в магазине вместе с контроллером. Поддерживаются также устройства от других систем мониторинга серверных.
Софт ПО в контроллере используется то же самое, что и в версии на DIN-рейку — Wiren Board 4. Мы писали про него на хабре.
Что стоит отметить:
Как уже было написано выше, на контроллере стоит Debian Linux. Используется стандартный репозиторий Debian и, дополнительно, наш репозиторий с нашим ПО. Можно ставить любые пакеты из стандартного репозитория Debian-а, можно обновлять наши — всё это делается через обычный apt-get.Дистрибутив используется полноценный, никаких uClibc и прочего openwrt.
Есть «драйвера» устройств. Все внешние устройства и встроенная периферия, про которую сказано выше, имеют свои «драйвера» на нашем контроллере. В итоге каждое устройство представляется единообразным образом в нашем внутреннем интерфейсе — шине MQTT (подробнее — в документации).Это значит, что вы можете получить стандартным способом данные (например температуру) с любого устройства, независимо от типа и способа подключения. То же самое касается управления устройствами — команды на включение реле одинаковые, будь это реле подключенное по радио, встроенное реле или реле на модуле расширения, подключенное по RS-485.
Это также значит, что добавить поддержку произвольной системы мониторинга, системы SCADA и т.п. очень просто. Для общения с шиной MQTT существуют биндинги почти под все языки, в том числе можно запрашивать/отправлять простыми консольными командами.
Есть встроенный веб-интерфейс, в котором отображаются все физические устройства и их каналы. В интерфейсе можно создавать комнаты, дашбоарды, виджеты и т.д. Есть система правил, которая позволяет писать произвольные сценарии на JavaScript. Сценарии работают с событиями, приходящими от устройств. Есть «облачный интерфейс», позволяющий делать всё то же самое, что и локальный. В тестировании возможность подключать несколько контроллеров к одному интерфейсу. Есть готовая интеграция с Zabbix — любой параметр из внутренней системы можно запросить из Zabbix-а. Заключение Контроллер стоит 14 000 руб. в стандартной комплектации, купить можно у нас в магазине.
Wiren Board NetMon-1 — это наш первый опыт в устройствах для серверных, хотя и подтверждённый полугодом эксплуатации нескольких сотен устройств. Поэтому мы традиционно будем рады комментариям и предложениям как по возможностям ПО и поддержке периферийных устройств, так и по железной части.