Попробовал немного изменить код скрипта, в результате теперь приходят уведомления о логине на устройство и о подключении юзеров по vpn, но failure-сообщения отвалились, что я делаю не так?
не поехало, проверял на двух микротиках, первый домашний hex s, второй CHR поднятый у AWS. Тестил скрипт Notify-log, BotID\MyChatID поменял.
отправка сообщений через tool fetch проходит успешно, в чём затык?
мтс только по ipv6 правда внешний даёт (ipv4 серый), а вот мега без проблем по ipv4.
Странно, имею две сим:
мтс
мегафон
И там и там белая динамика
:local LogGet [ :toarray [ /log find topics~«account» || message~«connected» || message~"[Cc]onnected" ] ];
P.S
:global output
:global mtIdentity [/system identity get name];
:global botID «botxxxxxxxxxx:yyyyyyyyyyyyyy»;
:global myChatID «zzzzzzzzzzz»;
:local LogGet [ :toarray [ /log find topics~«system» || message~«login failure» || message~"[Ff]ailure" ] ];
:local LogGet [ :toarray [ /log find topics~«system» || message~«logged» || message~"[Ll]ogged" ] ];
:local LogGet [ :toarray [ /log find topics~«system» || message~«connected» || message~"[Cc]onnected" ] ];
:local LogtLineCount [ :len $LogGet ];
if ($LogtLineCount > 0) do={
:local currentTime "$[ /log get [ :pick $LogGet ($LogtLineCount -1) ] time ]";
:if ([:len $currentTime] = 10 ) do={
:set currentTime [ :pick $currentTime 0 10 ];
}
:set output "$currentTime — $[/log get [ :pick $LogGet ($LogtLineCount-1) ] message ]";
:if (([:len $lastTime] < 1) || (([:len $lastTime] > 0) && ($lastTime != $currentTime))) do={
:set lastTime $currentTime;
:tool fetch url=(«api.telegram.org$botID/sendmessage\?chat_id=$myChatID&text=\»$mtIdentity\": $output") keep-result=no
}
}
только теперь все события с тикетом system будут лететь в телегу))
:global output
:global mtIdentity [/system identity get name];
:global botID «botXXXXXXXX:YYYYYYYYYYYYYYYYY»;
:global myChatID «ZZZZZZZZZ»;
:local LogGet [ :toarray [ /log find topics~«critical» || message~«login failure» || message~"[Ff]ailure" ] ];
:local LogGet [ :toarray [ /log find topics~«account» || message~«logged» || message~"[Ll]ogged" ] ];
:local LogGet [ :toarray [ /log find topics~«account» || message~«connected» || message~"[Cc]onnected" ] ];
:local LogtLineCount [ :len $LogGet ];
if ($LogtLineCount > 0) do={
:local currentTime "$[ /log get [ :pick $LogGet ($LogtLineCount -1) ] time ]";
:if ([:len $currentTime] = 10 ) do={
:set currentTime [ :pick $currentTime 0 10 ];
}
:set output "$currentTime — $[/log get [ :pick $LogGet ($LogtLineCount-1) ] message ]";
:if (([:len $lastTime] < 1) || (([:len $lastTime] > 0) && ($lastTime != $currentTime))) do={
:set lastTime $currentTime;
:tool fetch url=(«api.telegram.org$botID/sendmessage\?chat_id=$myChatID&text=\»$mtIdentity\": $output") keep-result=no
}
}
P.S если в шедульке указать запуск каждые 5 минут и быстро залогиниться\разлогиниться, то отобразится только одно сообщение о логоне.
AWS на год халявный, потом перерегать и залить конфиг не долго.
Вообще конечно хорошая фича.
отправка сообщений через tool fetch проходит успешно, в чём затык?