Нужна помощь!
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 8
- Зарегистрирован: 28 июл 2020, 19:59
Добрый день. Нужен скрипт чтобы при появлении в адрес листе IP, этот IP отправлялся в Telegram. Спасибо заранее.
- podarok66
- Модератор
- Сообщения: 4402
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Заявки подобного рода прошу оставлять в разделе Платные услуги.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17
Вы про оповещение телеграм тему читали? Просто лучше будет поднять у себя скрипт оповещения, а затем уже добавлять любые скрипты которые при сработке пишут лог варнинг и соответственно это отправится в телеграм.
-
- Сообщения: 8
- Зарегистрирован: 28 июл 2020, 19:59
Да читал, Есть такой скрипт.
Код: Выделить всё
:if ([:len [/ip firewall address-list find list=ХХХХХХ]] > 0) do={tool fetch url="https://api.telegram.org/botХХХХХХХХХХХ/sendMessage?chat_id=ХХХХХХХХ&text=ХХХХХ" dst-path=telegram.txt}
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17
-
- Сообщения: 8
- Зарегистрирован: 28 июл 2020, 19:59
Нет, все IP которые туда попадают (в адрес-листе они находятся непродолжительное время)
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17
-
- Сообщения: 8
- Зарегистрирован: 28 июл 2020, 19:59
Получается необходимо 2 действия, записать событие в лог, когда событие записано в лог, отправить этот лог в телегу? Я таким первый раз занимаюсь, помогите с направлением.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Добрый день. Нужен скрипт чтобы при появлении в адрес листе IP, этот IP отправлялся в Telegram. Спасибо заранее.
Полностью поддерживаю модератора.Заявки подобного рода прошу оставлять в разделе Платные услуги.

Спасибо заранее

Ну а с направлением отчего же не помочь. Нужны два действия:
1. Создания правила в /firewall filter
2. Скрипт из двух-трех строк

фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 8
- Зарегистрирован: 28 июл 2020, 19:59
Включил логирование в правиле, с префиксом ХХХХХХ, и использовал скрипт которым поделился turanskiy.ruslan на этом форуме.
Искал по префиксу
полный скрипт
Спасибо Virtue, что подсказал про логирование.
Искал по префиксу
Код: Выделить всё
:local startBuf [:toarray [/log find message~”ХХХХХХ”]]
Код: Выделить всё
# BEGIN SETUP
:local scheduleName "LogMikrotik"
local bot "XXXXXXX"
local ChatID "XXXXXXXX"
:local startBuf [:toarray [/log find message~"XXXXXXXXXXX"]]
:local removeThese {"telnet";"whatever string you want"}
# END SETUP
# warn if schedule does not exist
:if ([:len [/system scheduler find name="$scheduleName"]] = 0) do={
/log warning "[LOGMON] ERROR: Schedule does not exist. Create schedule and edit script to match name"
}
# get last time
:local lastTime [/system scheduler get [find name="$scheduleName"] comment]
# for checking time of each log entry
:local currentTime
# log message
:local message
# final output
:local output
:local keepOutput false
# if lastTime is empty, set keepOutput to true
:if ([:len $lastTime] = 0) do={
:set keepOutput true
}
:local counter 0
# loop through all log entries that have been found
:foreach i in=$startBuf do={
# loop through all removeThese array items
:local keepLog true
:foreach j in=$removeThese do={
# if this log entry contains any of them, it will be ignored
:if ([/log get $i message] ~ "$j") do={
:set keepLog false
}
}
:if ($keepLog = true) do={
:set message [/log get $i message]
# LOG DATE
# depending on log date/time, the format may be different. 3 known formats
# format of jan/01/2002 00:00:00 which shows up at unknown date/time. Using as default
:set currentTime [ /log get $i time ]
# format of 00:00:00 which shows up on current day's logs
:if ([:len $currentTime] = 8 ) do={
:set currentTime ([:pick [/system clock get date] 0 11]." ".$currentTime)
} else={
# format of jan/01 00:00:00 which shows up on previous day's logs
:if ([:len $currentTime] = 15 ) do={
:set currentTime ([:pick $currentTime 0 6]."/".[:pick [/system clock get date] 7 11]." ".[:pick $currentTime 7 15])
}
}
# if keepOutput is true, add this log entry to output
:if ($keepOutput = true) do={
:set output ($output.$currentTime." ".$message."\r\n")
}
:if ($currentTime = $lastTime) do={
:set keepOutput true
:set output ""
}
}
:if ($counter = ([:len $startBuf]-1)) do={
:if ($keepOutput = false) do={
:if ([:len $message] > 0) do={
:set output ($output.$currentTime." ".$message."\r\n")
}
}
}
:set counter ($counter + 1)
}
if ([:len $output] > 0) do={
/system scheduler set [find name="$scheduleName"] comment=$currentTime
/tool fetch url="https://api.telegram.org/bot$bot/sendmessage?chat_id=$ChatID&text=MikroTik alert $currentTime : $output" keep-result=no;
}