777BLOODER777 Posted May 4, 2017 Всем привет! Ребята помогите по скрипту) Задача-чтоб по событию в логах (к примеру по последним 5-10 строчкам) он отслеживал определённое соответствие (к примеру "user ETH0000404 authentication failed") и срабатывала какая либо команда. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Nuts Posted May 4, 2017 Логи можно парсить скриптом. Вот примеры: 1 и 2. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
777BLOODER777 Posted May 4, 2017 получается что то типа :if [/log find message~"logged in" || message~"login failure"] do={ /ppp aaa set accounting=yes use-radius=yes } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
777BLOODER777 Posted May 4, 2017 Логи можно парсить скриптом. Вот примеры: 1 и 2. Nuts не хватит у меня тямы((( если не сложно помоги) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
777BLOODER777 Posted May 4, 2017 вот так короча получается но сейчас он все строки логов перебирает а надо только последние несколько :if ([find message~"authentication failed - radius timeout"] != "") do={/system reboot} Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Saab95 Posted May 4, 2017 Ограничьте в логе 10 строчек и все станет работать нормально. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
777BLOODER777 Posted May 4, 2017 Ограничьте в логе 10 строчек и все станет работать нормально. Не, не получится чёткой работы(( я всё ж борюсь с карбонбиллингом что при всякой очередной пакости не бегать. Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mafijs Posted May 4, 2017 (edited) Как вариант, можно и без скрипта. Воспользоватся System -> Loging. В разделе Actions создать новую запись send -> e-mail и потом новую rules с нужным topics согласно нужному. Конечно, придётся заполнить Tools -> e-mail. /system logging action add email-start-tls=yes email-to=adress@gmail.com name=send target=email add action=send prefix=от_куда topics=dude,critical аааа, это не то, что нужно. Edited May 4, 2017 by mafijs Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
777BLOODER777 Posted May 4, 2017 Тут смысл в том чтоб к примеру по последним 5-10 строкам отмежевался тайаут радиус сервера с присутствием в логах "authentication failed - radius timeout" и если таковой есть то срабатывал скрипт перенастройки сервера PPPoE. В /system logging action я уже заглядывал, не получится без сторонних приложений. Я хочу до ума довести схему управления микротиком+pppoe+simple queue+carbon billing5. По IP адресу через нетватч уже всё собрал в кучу и хочу чтоб ещё логи так же мониторились так как я хз почему но иногда по утру у карбона глючит радиус сервер. не соображу как в условии срабатывания добавить чтоб мониторил именно последние строки((( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Nuts Posted May 4, 2017 Могу предложить идею. Закончить решение сейчас не могу (поздно, голова уже не варит). Следующими командами мы получим ID последнего события в логах: :local CurTime "$[/system clock get date] $[/system clock get time]" :log warning "$CurTime marker" :local LastEvent [/log find message="$CurTime marker"] Этот ID хитрый: представляет из себя hex число с префиксом * . Дальше дело техники: в цикле перебрать нужное количество событий, предшествующих нашему маркеру. Также, вместо ID, можно оперировать временем. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Saab95 Posted May 4, 2017 Не нужны вам скрипты. Делаете софт на винде, который принимает лог от сервера - в нем есть все эти таймауты. Как увидели - отправляете по ssh на микротик нужные команды - например перезагрузку, если это требуется, вот и все дела. Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов Обычно в логах авторизации указано, что такой то абонент - ошибка аутентификации. И так много много раз. Поэтому из логов нужно выдергивать нужное, и не писать по 100 раз одно и то же, для анализа администратором. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
VolanD666 Posted May 5, 2017 А чо, на микротике нельзя запасно радиус прикрутить? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...