Jump to content

Recommended Posts

Posted

Всем привет! Ребята помогите по скрипту)

Задача-чтоб по событию в логах (к примеру по последним 5-10 строчкам) он отслеживал определённое соответствие (к примеру "user ETH0000404 authentication failed") и срабатывала какая либо команда.

Posted

вот так короча получается но сейчас он все строки логов перебирает а надо только последние несколько :if ([find message~"authentication failed - radius timeout"] != "") do={/system reboot}

Posted

Ограничьте в логе 10 строчек и все станет работать нормально.

Не, не получится чёткой работы(( я всё ж борюсь с карбонбиллингом что при всякой очередной пакости не бегать.

 

Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов

Posted (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 by mafijs
Posted

Тут смысл в том чтоб к примеру по последним 5-10 строкам отмежевался тайаут радиус сервера с присутствием в логах "authentication failed - radius timeout" и если таковой есть то срабатывал скрипт перенастройки сервера PPPoE. В /system logging action я уже заглядывал, не получится без сторонних приложений. Я хочу до ума довести схему управления микротиком+pppoe+simple queue+carbon billing5. По IP адресу через нетватч уже всё собрал в кучу и хочу чтоб ещё логи так же мониторились так как я хз почему но иногда по утру у карбона глючит радиус сервер.

 

не соображу как в условии срабатывания добавить чтоб мониторил именно последние строки(((

Posted

Могу предложить идею. Закончить решение сейчас не могу (поздно, голова уже не варит).

Следующими командами мы получим 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, можно оперировать временем.

Posted

Не нужны вам скрипты. Делаете софт на винде, который принимает лог от сервера - в нем есть все эти таймауты. Как увидели - отправляете по ssh на микротик нужные команды - например перезагрузку, если это требуется, вот и все дела.

 

Логи то всё равно нужны и тем более по ошибкам особенно авторизации абонов

 

Обычно в логах авторизации указано, что такой то абонент - ошибка аутентификации. И так много много раз. Поэтому из логов нужно выдергивать нужное, и не писать по 100 раз одно и то же, для анализа администратором.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.