В серверной нашей организации постоянно работает кондиционер. Но бывают редкие случаи, когда он отключается. Чтоб мониторить с оповещением ситуацию по температуре решено было использовать микротик, так как в нем есть встроенный датчик температуры процессора. Мониторинг и оповещение осуществляются на основе скрипта. Встроенная в прошивку возможность оповещения о повышении температуры отсутствует.
Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Использован MikroTik RB3011 с прошивкой 6.49. Выполнена базовая настройка . Работает доступ в Интернет. Настройки выполняются через WinBox.
Для работы мониторинга с оповещением необходимо настроить:
-расписание выполнения скрипта;
Рассмотрим все три необходимые настройки.
Сначала определим эталонную температуру нормально работающего оборудования.
В боковом меню переходим System >> Health.
Это температура процессора. По ней можно сориентироваться. В случае ее повышения, например, на 5 градусов становится понятно, что кондиционер перестал работать, нужно принимать меры.
Датчик температуры есть не во всех моделях MikroTik.
Создание скрипта.
В боковом меню переходим System >> Scripts. Добавляем новый скрипт, нажав +
Name: T-WARNING – любое понятное название латиницей.
Policy: read, write, policy, test –отмечаем галочкой.
Нажимаем кнопку «Apply» для сохранения настроек.
Через командную строку терминала:
1
| /system script add dont—require—permissions=no name=T—WARNING owner=admin policy=read,write,policy,test |
Добавляем сам скрипт в нижнее поле «Source:» Через графический интерфейс работать со скриптом удобнее.
1 2 3 4 5
| :local T1 [/system health get temperature]; :local T2 28; :if ($T1 > $T2) do={ /tool e—mail send to=123456789@wwpager.ru subject=GW1—MAIN—OFFICE body=«WARNING T= $T1 C» } |
Нажимаем кнопку «ОК» для сохранения настроек.
Принцип действия такой:
Назначаем переменную T1 со значением, которое берется от датчика температуры.
Назначаем переменную T2 с ориентировочным значением на 5 градусов выше, чем T1.
Сравниваем значения. Если T1 больше T2, то выполняется отправка почты.
В качестве почты указан Вайбер-бот wwpager. Сообщение сразу приходит в Вайбер.
Чтоб отслеживать построчно выполнение скрипта можно после каждой строки добавить логирование, например так:
1 2 3 4 5 6 7 8 9
| :log info «start»; :local T1 [/system health get temperature]; :log info «line 1»; :local T2 28; :log info «line 2» :if ($T1 > $T2) do={ /tool e—mail send to=123456789@wwpager.ru subject=GW1—MAIN—OFFICE body=«WARNING T= $T1 C» } :log info «end»; |
В логе это выглядит как на картинке ниже.
Если скрипт более сложный и не работает, логи помогают определить в чем проблема.
На всякий случай этот же скрипт для RouterOS v7.
1 2 3 4 5
| :local T1 [/system health get [find name=temperature] value]; :local T2 28; :if ($T1 > $T2) do={ /tool e—mail send to=123456789@wwpager.ru subject=GW1—MAIN—OFFICE body=«WARNING T= $T1 C» } |
Расписание будет выполнять скрипт с заданным интервалом времени.
Создаем новое задание в расписании.
System >> Scheduler >> +
Name: T-CHECK – любое понятное имя на латинице.
Start Date – дата начала работы задания.
Start Time – время начала работы задания.
Interval – периодичность работы расписания.
Policy – необходимые политики для работы задания.
On Event — /system script run T-WARNING – текстовая команда для запуска скрипта с названием T-WARNING.
Нажимаем ОК для сохранения настроек.
Через командную строку терминала:
1
| /system scheduler add name=T—CHECK start—date=jul/18/2022 start—time=15:00:00 policy=read,write,policy,test interval=1h on—event=«/system script run T-WARNING» |
Ожидаем час или ставим время поменьше, чтоб убедиться, что расписание работает.
Настройка представлена на этой странице или кратко ниже.
Tools >> Email
Для примера используется электронная почта Яндекс.
Server: smtp.yandex.ru – сервер исходящей почты.
Port: 587 – порт почтового сервера.
Start TLS: yes – шифрование.
From: pc360@yandex.ru – почта отправителя.
User: pc360@yandex.ru – имя пользователя почты.
Password: 12345Password – пароль от почты.
ОК для сохранения настроек.
Через командную строку терминала:
1
| /tool e—mail set address=smtp.yandex.ru port=587 start—tls=yes from=pc360@yandex.ru user=pc360@yandex.ru password=12345Password |
Для проверки отправки сообщения можно нажать на кнопку «Send Email».
Проверка работы всей схемы.
Отключаем кондиционер в серверной на час и ждем.
Или способ по быстрее.
Устанавливаем порог срабатывания в скрипте на 20 градусов: T2=20
Устанавливаем расписание запуска скрипта через каждые 2-3 минуты или подгоняем время его начала. Ждем.
Еще как вариант можно нажать кнопку «Run Script» в списке скриптов, но в этом случае не проверится отработка расписания.
Так как в качестве получателя настроен wwpager, на Вайбер сразу же прилетает сообщение.
В теме сообщения указано имя устройства. В содержании предупреждение и реальная температура, можно написать что угодно.
Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.