Как стать автором
Обновить

Mikrotik на страже температуры

Время на прочтение3 мин
Количество просмотров34K
Здравствуйте, хабрлюди!

Предыстория

Небольшой завод, небольшая серверная (2x4 метра), парк стоечных серверов, хранилищ, ИБП. Кондиционер который работает круглосуточно/круглодично.

Мир, труд, 1 мая, 7 утра звонок с завода, охрана: «Сработала пожарная сигнализация в серверной, горячая дверь, запаха гари нет.». Даю инструкцию дальнейших действий: «Вооружаемся рядом стоявшим огнетушителем, открываем дверь, еду.» По дороге звонок: «Дверь открыли, ничего не горит там жарко.» Говорю: «Оставить открытой дверь.»

Через 30 минут после первого звонка я возле серверной. Действительно жарко. Сервера неприятно шумят куллерами. Кондиционер отключен. Рубильником отключаю кондиционер, жду, включаю обратно, «пик», но не холодит. Вызываем кондционерщика обслуживающего нашу организацию, проверяем давление газа в кондиционере, газ есть но давление маленькое, добавляем газа, холодит. Закрываем дверь ждем, заходим, прохлада, сервера приятно шумят куллерами. Договариваемся об поиске места утечки. Расходимся. Шашлык. 1 мая, труд. мир.

Далее под кат.

Задача

Мониторинг температуры в серверной.

1. Всякого рода дополнительные датчики, с уведомлениями куда угодно.
Есть организация которая занимается у нас пожарной и всякого вида сигнализацией на заводе, ничего внятного предложить не смогли.
2. Принудительная вентиляция, с клапанами вентиляторами фильтрами.
Расположение серверной таково, что без проекта и подключения к этому дело разного вида служб нет возможности это сделать. Возможность конечно же есть, но желания у этих служб сводится к нулю. «Занимайся сам.»
3. Датчики в имеющемся железе.
На этом и остановился ради теста мониторинга и хоть какого то оповещения.

Развязка

В серверной много разношерстного железа. И все они содержат датчики, это факт. Но выбор пал именно на Mikrotik RouterBoard 2011UAS-RM. Объясню почему.

1. Он первый на кого дует кондиционер.
2. У него нет своего куллера.
3. Наличие датчика температуры.
4. Расположен в верхней части стойки.
5. Linux.
6. Свой скриптовый язык.
7. Наличие шары SMB.
8. Возможность отправки e-mail, смс не использую.

Все что нужно сделать это проверить его температуру. Уведомить на почту. Уведомить пост охраны. Если температура превышает нужное значения.

Tutorial

1. На Mikrotik есть интернет отправка e-mail настроена как надо и работает.
2. Пишем скрипт проверки температуры и отправки показаний на e-mail.

:global temp1
:set temp1 30
:global temp2 [/system health get temperature]

:if ($temp2 > $temp1) do= {/tool e-mail send to=email@email.ru subject=Warning_Temperature body="Warning!!! Room temperature  - $temp2 Degrees"}


Разберем :global temp1 переменная для порога температуры :set temp1 30 порог температуры :global temp2 [/system health get temperature] получаем температуру и заносим ее в переменную :if ($temp2 > $temp1) do= {/tool e-mail send to=email@email.ru subject=Warning_Temperature body="Warning!!! Room temperature - $temp2 Degrees"} тут все просто если полученная температура выше порога отправляем уведомление на почту. Переменные глобальные для других скриптов.

Данные скрипт в Scheduler с выполнением раз в 30 минут, а хотя по времени как хотите.

3. Оповещение охраны на посту. Так как серверная и пост охраны на разных этажах, но сеть то одна. И на посту большой телевизор с камерами подключенный к Windows машине.

Итак:

Включаем шару в Mikrotik /ip smb. Создаем пользователя, даем доступ к //mikrotik/pub.
Пишем скрипт.

:global t
:set t 1
:global f
:set f 0
/file set pub/temp.txt contents=$f

:if ($temp2 > $temp1) do= {/file set pub/temp.txt contents=$t}


Разберем. Переменная для плохой температуры :global t назначаем переменной единицу :set t 1 переменная для хорошей температуры :global f назначаем переменной нуль :set t 0 записываем в фал pub/temp.txt «0» /file set pub/temp.txt contents=$f проверяем температуру :if ($temp2 > $temp1) do= {/file set pub/temp.txt contents=$t} если температура выше нормы в файле pub/temp.txt 0 меняем на 1.

Данные скрипт в Scheduler с выполнением раз в 30 минут, а хотя по времени как хотите.

4. Оповещение Windows Машины на посту охраны.

Все что нужно это периодически читать файл //mikrotik/pub/temp.txt. Если в файле 0 ничего не делать, а если 1 то на экран (телевизор в моем случае) выводить большими красными буквами WARNING и другую информацию, которая будет полезна в решении проблемы. Данную программку можно спокойно написать хоть на чем. Под рукой был Delphi на нем и написали.

Да скажете колхоз и все такое, но пока такое решение. Пока беспокоить охрану не приходилось.
Теги:
Хабы:
+10
Комментарии31

Публикации

Истории

Работа

Ближайшие события