Jump to content
Калькуляторы

Смс оповещение в The Dude Уведомления о событиях в The Dude посредством смс сообщений

Всем привет!

 

Около года назад стал использовать в работе мониторинговую систему The Dude от MikroTik. Сразу встал вопрос рассылки смс оповещений при срабатывании определенных событий: в основном подъем и падение узлов. Естественно стал гуглить в этом направлении. Нашел несколько решений, в которых использовались мобильные телефоны или 3G модемы. Как следствие расходование маленьких, но все же, денежных средств. Мне пришла в голову другая идея, и ее я и собираюсь тут описать.

 

Возможно то решение, которое я опишу, уже кем то реализовано ранее, но я подобного не обнаружил, по крайней мере год назад, когда я и начал его использовать в своей сети.

 

Итак начнем!

 

Вся суть схемы, в использовании услуги mail2sms от вашего сотового оператора. Я не знаю есть ли подобная услуга у других сотовых операторов, но, так как у меня Билайн, я использовал именно его. Предварительно необходимо на телефоне набрать номер 06849929 и тем самым включить необходимую нам услугу. Мы услышим, что заявка принята и через некоторое время нам придет смс с подтверждением. Предположим наш номер 89634444444, тогда посылая электронное письмо на ящик 79634444444@sms.beemail.ru, оно поступит на наш телефон в виде смс.

 

Не смотря на то, что программа The Dude написана под платформу Windows, ее запуск на платформе Linux не составляет особого труда. Будем использовать Ubuntu Linux 10.04.4. Вкратце опишу процедуру установки The Dude:

  1. запускаем консоль комбинацией клавиш
    Ctrl+Alt+T


  2. переходим в режим root
    sudo -i

    и вводим пользовательский пароль

  3. устанавливаем пакет wine
    apt-get install wine


  4. скачиваем установщик the dude
    wget http://download.mikrotik.com/dude/4.0beta3/dude-install-4.0beta3.exe


  5. запускаем установку the dude с использованием wine
    wine ./dude-install-4.0beta3.exe


  6. дальнейшая установка как у обычного Windows приложения
  7. после завершения процедуры установки создаем ярлык, для запуска программы, на рабочем столе:
    • щелкаем правой кнопкой мыши на свободном пространстве рабочего стола
    • в появившемся контекстном меню выбираем пункт Создать кнопку запуска
    • появится диалоговое окно создания кнопки запуска
    • в поле Имя вводим The Dude
    • в поле Команда вводим
      gksudo wine "/root/.wine/drive_c/Program Files/Dude/dude.exe"


    • нажмаем кнопку ОК, после чего на рабочем столе появится значок запуска программы
    • выполняем двойной щелчок по этому значку для первого запуска программы
    • вводим пользовательский пароль
    • появится окно выбора языка, где я настоятельно рекомендую остановить свой выбор на английском языке и нажать ОК
    • после появления основного окна программы, в поле Server меняем значение localhost на 127.0.0.1 и нажимаем кнопку Connect
    • после этого появится окно Device Discovery, в котором нажимаем кнопку Cancel
    • на этом установка и первый запуск программы успешно выполнены

Следующим этапом является создание почтового ящика, который будет служить своего рода транспортом для пересылки оповещений. Итак создаем на яндексе новый почтовый ящик: для примера воспользуемся вымышленным dude@yandex.ru с паролем Dude2013Notify.

 

Так как у нас Linux, то будем для отправки электронных сообщений использовать один из популярных smtp серверов: exim4. Его нужно установить и правильно сконфигурировать:

  1. запускаем консоль комбинацией клавиш
    Ctrl+Alt+T


  2. переходим в режим root
    sudo -i

    и вводим пользовательский пароль

  3. устанавливаем smtp сервер exim4
    apt-get install exim4


  4. запускаем процедуру конфигурирования
    dpkg-reconfigure exim4-config


  5. в первом окне выбираем отправка почты через smarthost, прием по SMTP или fetchmail
  6. далее очищаем поле Почтовое имя системы
  7. в следующем окне в поле Ip адреса, с которых следует ожидать входящие соединения SMTP оставляем только 127.0.0.1, остальное удаляем
  8. поле Другие места назначения, для которых должна приниматься почта очищаем
  9. поле Машины, для которых доступна релейная передача почты оставляем пустым
  10. в поле Ip адрес или имя хоста, являющегося исходящим smarthost вводим smtp.yandex.ru
  11. Скрывать локальное почтовое имя в исходящей почте выбираем Нет
  12. Сокращать количество DNS запросов до минимума выбираем Нет
  13. Метод доставки локальной почты оставляем как есть
  14. Разделить конфигурацию на маленькие файлы выбираем Да
  15. поле Получатель почты, адресованной root и postmaster оставляем пустым
  16. переходим в каталог программы сервера
    cd /etc/exim4


  17. открываем конфигурационный файл в редакторе
    nano ./passwd.client


  18. в конец файла дописываем строку следующего содержания
    smtp.yandex.ru:dude@yandex.ru:Dude2013Notify

    , то есть смтп сервер, почтовый ящик и пароль к нему, разделенные двоеточиями

  19. сохраняем изменения в файле и выходим из редактора
  20. переходим в каталог с дополнительным конфигурационным файлом
    cd ./conf.d/rewrite


  21. открываем конфигурационный файл в редакторе
    nano ./00_exim4-config_header


  22. в конец файла дописываем строку следующего содержания
    *@* dude@yandex.ru Ffr


  23. сохраняем изменения в файле и выходим из редактора
  24. и наконец перезапускаем смтп сервер
    service exim4 restart


  25. на этом установка и конфигурирование смтп сервера успешно выполнены

Последним этапом является настройка самой системы мониторинга на отправку смс оповещений. Для этого выполним следующие шаги:

  1. запустим программу двойным щелчком на ее ярлыке на рабочем столе
  2. в левой верхней части окна программы нажмем на кнопке Settings
  3. в появившемся окне на закладке General в полях Primary SMTP и Secondary SMTP указываем 127.0.0.1, а в поле From указываем dude@yandex.ru и нажимаем кнопку ОК
  4. в конце списка, в левой части окна, выбираем пункт Notifications
  5. в меню основной части окна нажимаем по значку + для добавления нового типа оповещения
  6. в поле Name вводим наименование оповещения, например SMS Notify
  7. в поле Type выбираем email
  8. в поле To указываем почтовый ящик получателя оповещения, в нашем случае это будет 79634444444@sms.beemail.ru
  9. нажимаем кнопку ОК

Вот, в принципе, и все! Осталось добавить устройство и в его настройках указать, помимо прочего, тип оповещения SMS Notify. За более тонкими настройками мониторинговой системы, события, текст оповещения и прочее, обращайтесь к документации на официальном Вики компании MikroTik.

Edited by zagirovaa

Share this post


Link to post
Share on other sites

у меня работает отправка почты без smtp сервера.

 

а сервис для смс использую вот этот sms.ru - там все бесплатно, если шлешь на свой номер

Share this post


Link to post
Share on other sites

Сообщения должны отправляться сразу с устройства, представьте отключится канал интернета и сообщения не дойдут до адресата. Обычно в микротик втыкают USB модем и он сам отправляет уведомления.

Share this post


Link to post
Share on other sites

Сообщения должны отправляться сразу с устройства, представьте отключится канал интернета и сообщения не дойдут до адресата. Обычно в микротик втыкают USB модем и он сам отправляет уведомления.

 

тут не про это речь - тут про мониторинг всей сети (в т.ч. коммутаторы, маршрутиз., сервера и т.д.) с центрального узла.

Share this post


Link to post
Share on other sites

Сообщения должны отправляться сразу с устройства, представьте отключится канал интернета и сообщения не дойдут до адресата. Обычно в микротик втыкают USB модем и он сам отправляет уведомления.

 

тут не про это речь - тут про мониторинг всей сети (в т.ч. коммутаторы, маршрутиз., сервера и т.д.) с центрального узла.

 

На момент реализации этой схемы о существовании бесплатных сервисов, подобных тому, что были озвучены выше, мне известно не было. Спасибо за информацию, буду знать!

 

Все верно речь идет о мониторинге всей сети.

 

Что же касается падения канала, то у меня их два с балансировкой. За три года функционирования сети, падения одновременно обоих каналов не наблюдалось ни разу.

Share this post


Link to post
Share on other sites

тут не про это речь - тут про мониторинг всей сети (в т.ч. коммутаторы, маршрутиз., сервера и т.д.) с центрального узла.

 

Ну так надо поставить модем прямо в сервер или в какой-то микротик, которым управлять по SSH и отправлять СМС. Не такая и большая сумма уходит. В месяц будет порядка 30 СМС, если брать пакетами то совсем не дорого.

Share this post


Link to post
Share on other sites

тут не про это речь - тут про мониторинг всей сети (в т.ч. коммутаторы, маршрутиз., сервера и т.д.) с центрального узла.

 

Ну так надо поставить модем прямо в сервер или в какой-то микротик, которым управлять по SSH и отправлять СМС. Не такая и большая сумма уходит. В месяц будет порядка 30 СМС, если брать пакетами то совсем не дорого.

 

Ну так в сети есть "сервер мониторинга", с которого можно управлять всей остальной сетью. На этом сервере также установлен The Dude. Можно конечно и модем поставить и периодически пополнять счет, но зачем, когда можно и без рубля затрат, как описано мною, ну или предложено товарищем выше.

 

Кроме того, когда в сети несколько сотен узлов, и в городе, где эта сеть построена, как и во многих других городах России, достаточно остро стоит проблема частого отключения электроэнергии, а руководство не хочет расходоваться на обеспечение каждого узла источником бесперебойного питания, количество отправляемых смс в день доходит до нескольких сотен. А тут еще руководство любит быть в курсе каждого "пука" в сети, а их у нас двое, да еще и инженер должен получать уведомления. Итого падение одного узла 4 смс. Плюс по возврату обратно встрой того же узла опять 4 смс. Когда у тебя в руководстве люди, являющиеся представителями национальности, отличающейся особой скупостью ... Ну дальше вы сами все понимаете.

Share this post


Link to post
Share on other sites

Настраивал вот по этой инструкции выгрузку на почту...

http://forum.mikrotik.com/viewtopic.php?f=8&t=31779&start=0&hilit=gmail

Так же использую оповещение на билайн через почту. Отправляет сразу на несколько адресов.

Все настроено на mail.ru все работает. если требуется помогу написать инструкцию.

Edited by ros-maksim

Share this post


Link to post
Share on other sites

тут не про это речь - тут про мониторинг всей сети (в т.ч. коммутаторы, маршрутиз., сервера и т.д.) с центрального узла.

 

Ну так надо поставить модем прямо в сервер или в какой-то микротик, которым управлять по SSH и отправлять СМС. Не такая и большая сумма уходит. В месяц будет порядка 30 СМС, если брать пакетами то совсем не дорого.

 

Ну так в сети есть "сервер мониторинга", с которого можно управлять всей остальной сетью. На этом сервере также установлен The Dude. Можно конечно и модем поставить и периодически пополнять счет, но зачем, когда можно и без рубля затрат, как описано мною, ну или предложено товарищем выше.

 

Кроме того, когда в сети несколько сотен узлов, и в городе, где эта сеть построена, как и во многих других городах России, достаточно остро стоит проблема частого отключения электроэнергии, а руководство не хочет расходоваться на обеспечение каждого узла источником бесперебойного питания, количество отправляемых смс в день доходит до нескольких сотен. А тут еще руководство любит быть в курсе каждого "пука" в сети, а их у нас двое, да еще и инженер должен получать уведомления. Итого падение одного узла 4 смс. Плюс по возврату обратно встрой того же узла опять 4 смс. Когда у тебя в руководстве люди, являющиеся представителями национальности, отличающейся особой скупостью ... Ну дальше вы сами все понимаете.

 

4 одновременно узла врятле выйдут из строя, обычно вылетает что-то одно - а остальное уже следует за ним. Для этого как-раз в Dude есть опция "Родители" - где указываются от каких устройств зависит данное устройство. И если вышезависимый девайс выйдет из строя, то остальные узлы зависящие от него будут просто неактивными и не будет сыпаться град SMS.

Share this post


Link to post
Share on other sites

sparker, "на форумах постов не читают..."(с) :) 4 СМС - это два директора, инженер и админ, а не триггерное отключение.

Share this post


Link to post
Share on other sites

отправка смс с the dude

 

1. Регистрируемся на сайте smspilot

2. Кидаем в корень диска с: Скачать

3. Создаем новое оповещение называем его SMS, тип-выполнить на сервере, и вставляем следующий код

c:\sms.exe send="[Device.Name] [service.Status]" to="7913хххххх" 
from="internet" apikey="V27U1CP96IG0K4294Q27Y5SC8IIхххххххххххх"

 

send="TEXT" сюда ставим текст либо переменные

to="7913хххххх" номер телефона

from="internet" имя отправителя

apikey="V27U1CP96IG0K4294Q27Y5SC8IIхххххххххххх" API ключ указанный в профиле

 

Готово.

Share this post


Link to post
Share on other sites

Добрый день!

Есть компьютер №1 windows, где поднят сервер дуде. (внутренняя сеть без доступа в интернет)

Есть компьютер №2 windows, который одной сетевухой видит сервер дуде, другой сетевухой имеет доступ в интернет, имеет настроенный Outlook c электронкой.

Есть какие либо варианты, чтоб через комп№2 (используя как мост) отправлять сообщения по определенным адресам.

Может есть какие либо скрипты и тд.

Или данный случай без вариантов, обязательно до компа №1 тянуть доступ в инет?

Спасибо

Share this post


Link to post
Share on other sites

Оутлук наверно умеет отправлять почту из командной строки? Откройте на компе 2 сетевую папку с файлами оутлука, из дуды настройте запуск его по событиям с подстановкой нужных параметров.

 

Однако все эти оповещения по СМС или на почту из мониторинга имеют одну проблему. Если устройств много, то во время проблем запустится много событий о выходе из строя, и все они будут отправлены на почту отдельными сообщениями. Почтовый сервер заблокирует как спам.

 

Поэтому в таких случаях используют программу прослойку - которая аккумулирует сообщения, и если, например, устройство вышло из строя, а потом через полминуты снова заработало. Программа собирает данные в течении 5 минут, и если были случаи отключения и повторного включения, указывает это в данных на отправку, если только отключения - то и их. Тогда в письме будет список устройств, которые выключались но включились (работают) и те, которые не работают.

Share this post


Link to post
Share on other sites

Приветствую всех!

Saab95! Насчет почты разобрался, установил как тестовый сервер на комп локальный (есть оутлук),т.е Dude нормально отправляет сообщение, и это прекрасно, только проблема есть одна:

если на каком то девайсе сработал зонд - ушло сообщение с телом, деактивировался зонд - ушло сообщение с информацией о закрытии аварии..

СЛУЧАЙ: нет самого устройства (пропала сеть до него). Все зонды относительного этого девайса активны, и соответственно сообщение (сообщения) которое дойдет до адресата говорят о сработке(сработках) зонда(зондов), а на самом деле это просто устройство не ответило на запрос.

Не подскажете, можно ли с этим бороться? ТОесть вставить какую-то функцию(фильтр и тд..).

И прошу договорить начатую подсказку: про какую программу прослойку вы имели речь?

Также прошу (буду очень благодарен) если кто-нибудь объяснит подробно как отправлять СМС с компа на определенные адресаты (тоесть есть компьютер, есть электронка). Можно найти симку с модемом и как дальше?

Спасибо

Share this post


Link to post
Share on other sites

СЛУЧАЙ: нет самого устройства (пропала сеть до него). Все зонды относительного этого девайса активны, и соответственно сообщение (сообщения) которое дойдет до адресата говорят о сработке(сработках) зонда(зондов), а на самом деле это просто устройство не ответило на запрос.

 

Из всех зондов следует использовать только пинг, тогда если связь пропала то оно покажется красным и придет оповещение. Если не хотите ложных срабатываний, то в дуде настраивается количество потерянных пингов или отказов служб перед отправкой, обычно там 3 раза с интервалом в 30 секунд.

 

Не подскажете, можно ли с этим бороться? ТОесть вставить какую-то функцию(фильтр и тд..).

 

Бороться можно только увеличением количества проверок и времени между ними. Если это не совсем важные устройства.

 

И прошу договорить начатую подсказку: про какую программу прослойку вы имели речь?

 

Вы же писали что не нравятся ложные срабатывания и т.п. Например дуда умеет делать сислог событий, запускаете свой сборщик, который будет слушать эти события на предмет новых, закрытых и т.п., потом уже она, например каждые 10 минут, будет отправлять сообщение на почту и через смс и в сообщении указывать все события за этот период. Т.к. сообщения типа 100 отказов и 100 восстановлений не очень информативны. Готовых таких программ нет, их обычно самостоятельно делают.

 

Также прошу (буду очень благодарен) если кто-нибудь объяснит подробно как отправлять СМС с компа на определенные адресаты (тоесть есть компьютер, есть электронка). Можно найти симку с модемом и как дальше?

 

Втыкаете модем с симкой в комп, появляется ком порт модема. Есть к разным модемам консольные приложения, которые можно запускать из командной строки и указывать номер телефона и текст. Так же можно воткнуть такой модем в микротик, и через него отправлять сообщения. Открываете доступ по ssh до него и через программу plink будете отправлять команды. Дуда умеет запускать приложения с компа с разными подстановками. Если возьмете последний вариант, то в вики микротика есть примеры по работе с смс - http://wiki.mikrotik.com/wiki/Manual:Tools/Sms

Share this post


Link to post
Share on other sites

Из всех зондов следует использовать только пинг, тогда если связь пропала то оно покажется красным и придет оповещение. Если не хотите ложных срабатываний, то в дуде настраивается количество потерянных пингов или отказов служб перед отправкой, обычно там 3 раза с интервалом в 30 секунд.

 

в устройствах есть важные зонды, сработку которых я хочу получать, отправлять еще другим адресатам по электронке, посредством СМС. Когда устройство не доступно от сервера, это еще не значит что оно не работает. Поэтому я не могу ограничиться только пингом. Вот и возник вопрос: устройство доступно - значит сработка нужного зонда актуальна, устройство не доступно - значит инфа скорее всего ложная. Жаль, в этой проге нет установок на зависимые службы. Тоесть, сработка зонда такого то зависит от сработки зонда другого. Насчет родителей в настройках устройств, тоже не всегда работает.. Если родитель не пингуется, деактивно подчиненное устройство. А если родитель просто потерял связь по своему каналу мониторинга, но в то же время подчиненные устройства (проходящие через него) доступны и работают....?

И кстати уважаемый Saab95, сможете дать подробное описание фукнции "ping"?

к примеру if(ping)=error(ошибка, таймаут),1,0) - здесь частично написана билибирда, но вы надеюсь меня поняли. Тоесть когда я строю графики по данным определенного oid, мне нужно определять условие, что если устройство не отвечает на запрос, график должен просто обрываться. Выявил, что в других случаях функция графика и пустое значение и ноль воспринимает одинаково. вкладываю пример:

есть определенный OID - значения его могут варьировать с минусом так и с плюсом, также "нулем" -3,0,5,8 и тд. если я просто в источниках данных создаю опрос для графиков, то в случае если устройство не ответило на запрос рисуется в графике "ноль" - что не правильно.

после создал функции (2шт) и создал зонд для графика и активировал на устройсвах (во вложении картинка). И теперь когда значение oid "ноль" график не рисуется (а должен), когда устройство не отвечает тоже не рисуется...

Предыдущие ваши рекомендации пробовал сделать (пункт доступно оставить пустым) - но не помогло. не могу до конца с этим разобраться.

Поэтому надейюсь может функция "ping" поможет.

Прошу помочь...

post-131016-093242100 1456899843_thumb.jpg

Share this post


Link to post
Share on other sites

Создайте 2 копии устройства, в одном укажите все службы, во втором только важную, тогда если она сломается будет сразу сообщение об ошибке. Кроме всего дуда сообщает о выходе из строя всех служб на устройстве.

 

Если у вас есть важные зонды, тогда без прослойки никуда - она будет фильтровать сообщения и выделять из них нужные, по которым и отправлять сообщения.

 

И теперь когда значение oid "ноль" график не рисуется (а должен), когда устройство не отвечает тоже не рисуется...

 

Поставьте еще один if перед существующим текстом, и сделайте что если значение пусто то рисовать 0, только тогда и при отсутствии связи тоже будет рисовать 0.

Как вариант можно туда же вставить и функцию пинг, тогда условие будет если пинг прошел, тогда выводить значение функции без всяких условий, нуля там уже не будет=)

Share this post


Link to post
Share on other sites

а пример функции пинга не смогли бы вложить в форум, на конкретном примере когда надо ставить ""(пустота) при условии, что устройство отвечает на запрос, и какоелибо занчение (к примеру - таймаут) когда устройство не отвечает на запрос

Спасибо

Share this post


Link to post
Share on other sites

Добрый день!

Кто-нибудь, прошу помочь разобраться к функцией ping на DUDE4/03.. Тоесть как правильно прописать условие на запрос-ответ пинга?

Share this post


Link to post
Share on other sites

Добрый день,

Вопрос такой у Микротик CCR-1036 у которое CPU 36 и 36 oid-ы. Как этих в одном CPU сделать в The Dude.

Можно ли?

Спасибо.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this