Отправка уведомления на почту, если кто-то заходит на Микротик

Автоматизация при помощи встроенного скриптового языка и RouterOS API
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Sir_Prikol »

Код: Выделить всё

:local token "Your_Telegram_Token";
:local chatid "Your_Yelegram_Chat_ID";
:local lstime ([/system scheduler get value-name=next-run [find name="correct-login"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2);
:foreach i in=[/log find message~"logged in" && time>=$lstime] do={/tool fetch address=api.telegram.org url="https://api.telegram.org/bot$(token)/sendMessage\?chat_id=$(chatid)&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no};
У меня висит в шедуллере такой, вызывается раз в минуту, осечек не было

Я ещё разделил, один оповещает о входе, второй о выходе, третий о неудачной попытке входа. Оповещает какой юзер и с какого IP ломился
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
sasha300
Сообщения: 107
Зарегистрирован: 03 мар 2016, 16:00
Откуда: Санкт-Петербург

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение sasha300 »

Ну и круто! Всего 4 строчки кода, а задачу решают на ура
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Sir_Prikol »

Ну переделать его на отправку на почту, думаю, без меня справитесь, там несколько строчек добавится.
Плюс у меня все оповещения в slack запаралеллены. Ибо телега не всегда сама по себе работает, а слак без осечек
Дома: CCR2004 (7-ISP(GPON)белый IP)
chas99
Сообщения: 128
Зарегистрирован: 10 фев 2017, 08:52

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение chas99 »

у меня api.telegram.org не отвечает :(
попробовал через Opera с включенным VPN - работает !
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Sir_Prikol »

Ну что я могу сказать, претензии к РКН и своему провайдеру :) У меня толпа подсетей в забугорье уходит, именно по этой причине :)
Дома: CCR2004 (7-ISP(GPON)белый IP)
chas99
Сообщения: 128
Зарегистрирован: 10 фев 2017, 08:52

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение chas99 »

Sir_Prikol писал(а): 25 дек 2018, 00:51 Ну переделать его на отправку на почту, думаю, без меня справитесь, там несколько строчек добавится.
Покажите пожалуйста, как отправить на почту...
Аватара пользователя
Chupaka
Сообщения: 4098
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Chupaka »

R_Oleg
Сообщения: 3
Зарегистрирован: 24 апр 2019, 01:51

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение R_Oleg »

Sir_Prikol писал(а): 24 дек 2018, 21:31

Код: Выделить всё

:local token "Your_Telegram_Token";
:local chatid "Your_Yelegram_Chat_ID";
:local lstime ([/system scheduler get value-name=next-run [find name="correct-login"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2);
:foreach i in=[/log find message~"logged in" && time>=$lstime] do={/tool fetch address=api.telegram.org url="https://api.telegram.org/bot$(token)/sendMessage\?chat_id=$(chatid)&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no};
У меня висит в шедуллере такой, вызывается раз в минуту, осечек не было

Я ещё разделил, один оповещает о входе, второй о выходе, третий о неудачной попытке входа. Оповещает какой юзер и с какого IP ломился
Доброго времени суток!
Не хочет работать
Пробовал из терминала, ошибка: Script Error: cannot substract string from ip address
Может дело в версии ROs? у меня 6.43.8? железка rb951
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Sir_Prikol »

Нет, если вы в РФ - то предварительно надо настроить обход блокировок. А это уже другая история. Воспользуйтесь отправкой в slack, он доступен в РФ
Дома: CCR2004 (7-ISP(GPON)белый IP)
R_Oleg
Сообщения: 3
Зарегистрирован: 24 апр 2019, 01:51

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение R_Oleg »

Sir_Prikol писал(а): 24 апр 2019, 10:13 Нет, если вы в РФ - то предварительно надо настроить обход блокировок. А это уже другая история. Воспользуйтесь отправкой в slack, он доступен в РФ
Есть несколько правил в netwatch, с ними телеграмм работает, исправно все отправляет, но чат-ид и токен прописаны без локальных переменных, непосредственно в строку:

Код: Выделить всё

 tool fetch url="https://api.telegram.org/bot*******************-**********************/sendMessage\?chat_id=**************&text=AP-NAS_Link_Up" keep-result=no
как будто не присваивается переменная
:local token "************************-**************************";
:local chatid "*******************";

и еще, как в примере ниже, не работает..

Код: Выделить всё

:foreach i in=[/log find message~"logged in" && time>=$lstime] do={/tool fetch url="https://api.telegram.org/bot*******************-**********************/sendMessage\?chat_id=**************&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no};

и так не работает:

Код: Выделить всё

tool fetch url="https://api.telegram.org/bot*******************-**********************/sendMessage\?chat_id=**************&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no

а так работает..

Код: Выделить всё

tool fetch url="https://api.telegram.org/bot*******************-**********************/sendMessage\?chat_id=**************&text=$[/system identity get name]" keep-result=no
Пробовал и из терминала, и из скрипта
Возможно, я где то чего то не догоняю

Вот еще ошибка из терминала:

Код: Выделить всё

:local lstime ([/system scheduler get value-name=next-run [find name="correct-log
in"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2);
Script Error: cannot arithmetically negate ip address
R_Oleg
Сообщения: 3
Зарегистрирован: 24 апр 2019, 01:51

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение R_Oleg »

UPD
Вдруг само все заработало.. ничего не менял, случайно питание рубанул, и все завелось
goro
Сообщения: 1
Зарегистрирован: 11 дек 2020, 18:03

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение goro »

Может кто подкскажет, как отфильтровать события о логоне одного из юзеров?
Аватара пользователя
Chupaka
Сообщения: 4098
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Отправка уведомления на почту, если кто-то заходит на Микротик

Сообщение Chupaka »

goro писал(а): 11 дек 2020, 18:20 Может кто подкскажет, как отфильтровать события о логоне одного из юзеров?
Например, по имени пользователя в message :)