777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба Всем привет! Ребята помогите по скрипту) Задача-чтоб по событию в логах (к примеру по последним 5-10 строчкам) он отслеживал определённое соответствие (к примеру "user ETH0000404 authentication failed") и срабатывала какая либо команда. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Nuts Опубликовано 4 мая, 2017 · Жалоба Логи можно парсить скриптом. Вот примеры: 1 и 2. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба получается что то типа :if [/log find message~"logged in" || message~"login failure"] do={ /ppp aaa set accounting=yes use-radius=yes } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба Логи можно парсить скриптом. Вот примеры: 1 и 2. Nuts не хватит у меня тямы((( если не сложно помоги) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба вот так короча получается но сейчас он все строки логов перебирает а надо только последние несколько :if ([find message~"authentication failed - radius timeout"] != "") do={/system reboot} Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 4 мая, 2017 · Жалоба Ограничьте в логе 10 строчек и все станет работать нормально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба Ограничьте в логе 10 строчек и все станет работать нормально. Не, не получится чёткой работы(( я всё ж борюсь с карбонбиллингом что при всякой очередной пакости не бегать. Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mafijs Опубликовано 4 мая, 2017 (изменено) · Жалоба Как вариант, можно и без скрипта. Воспользоватся 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 аааа, это не то, что нужно. Изменено 4 мая, 2017 пользователем mafijs Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
777BLOODER777 Опубликовано 4 мая, 2017 · Жалоба Тут смысл в том чтоб к примеру по последним 5-10 строкам отмежевался тайаут радиус сервера с присутствием в логах "authentication failed - radius timeout" и если таковой есть то срабатывал скрипт перенастройки сервера PPPoE. В /system logging action я уже заглядывал, не получится без сторонних приложений. Я хочу до ума довести схему управления микротиком+pppoe+simple queue+carbon billing5. По IP адресу через нетватч уже всё собрал в кучу и хочу чтоб ещё логи так же мониторились так как я хз почему но иногда по утру у карбона глючит радиус сервер. не соображу как в условии срабатывания добавить чтоб мониторил именно последние строки((( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Nuts Опубликовано 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, можно оперировать временем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 4 мая, 2017 · Жалоба Не нужны вам скрипты. Делаете софт на винде, который принимает лог от сервера - в нем есть все эти таймауты. Как увидели - отправляете по ssh на микротик нужные команды - например перезагрузку, если это требуется, вот и все дела. Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов Обычно в логах авторизации указано, что такой то абонент - ошибка аутентификации. И так много много раз. Поэтому из логов нужно выдергивать нужное, и не писать по 100 раз одно и то же, для анализа администратором. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
VolanD666 Опубликовано 5 мая, 2017 · Жалоба А чо, на микротике нельзя запасно радиус прикрутить? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...