Script ini memonitoring log untuk kata atau frasa tertentu maupun kata atau frasa untuk pengecualian yang terdapat pada log mikrotik. Jika ditemukan log yang cocok, maka akan menjalankan perintah untuk mengirimkan pesan ke Bot Telegram. Script ini memeriksa semua log yang cocok sejak pertama kali script dijalankan.
Baris script ini digunakan untuk memeriksa kata atau frasa yang akan muncul pada log mikrotik, anda bisa menambahkan atau merubahnya dengan kata yang anda inginkan.
Baris ini untuk pengecualian kata yang tidak akan dikirimkan ke Telegram. Misalnya kita hanya ingin mengirimkan pesan ke telegram apabila di log Mikrotik terdapat kata “logged in” dan “login failure” tapi tidak untuk kata “telnet” dan “ssh” untuk menambahkan kata yang lain pisahkan dengan “;”.
:local removeThese {“telnet”; “ssh”}
Tambahkan Script dibawah Ini di kolom On Event
Share to Unlock Content
Silahkan share untuk membuka link download dan membuka scriptnya
Apabila tutorial ini bermanfaat support saya dengan cara share artikel ini..
Terimakasih
# BEGIN SETUP
:local scheduleName "LogMikrotik"
local bot "BOT TELEGRAM ANDA"
local ChatID "CHAT ID ANDA"
:local startBuf [:toarray [/log find message~"logged in" || message~"login failure"]]
: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;
}
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Menurut wiki.mikrotik.com script ini berjalan pada v5.26 dan v6.20, seharusnya berjalan juga di versi terbarunya. Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
kalau login winbox keterangan yg muncul di log “login failure”, kalau hotspot “login failed”…tapi untuk login sama log nya yaitu “logged in”.. kalau tidak mau muncul login hapus saja baris ini ( /log find message~”logged in” )
gan mau nanya untuk logged failed,
kalau pakai ini yg terkirim hanya ip saja = :local startBuf [:toarray [/log find message~”logged failed”]]
apa yang ditambah agar macc adresst logged failed hotspot terkirim ke telegram
tambahkan saja kata unik yg muncul di log misalnya seperti ini
/log find message~”BruteForcesWinbox” || message~”BruteForcesSshTelnet” || message~”PortScanner” || message~”BruteForcesFtp” || message~”DDoS”
mas mau tanya, kenapa ya kalau script scheduler nya di aktifin, cpu load dari 1% naik ke 25-40%, kalo di disable kembali ke 1%..?
mungkin suhu yg lain ada yg bisa bantu..
Halo mas,
kan di script ini jg hampir mirip dengan yg alert ketika ada serangan ke router, itu sdh jln.
nah ini nnti di merge atau di buat scheduler baru ya?
jika di merge sy bingung di bagian ini:
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;
(ini yg alert login ke router)
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=Telah Terjadi Serangan pada: %0A$router %0A $output” keep-result=no;
/log info “[LOGMON] New logs found, send telegram”
(ini yg alert serangan)
dan bagian ini sy tambhin message login, logout ,,
:local startBuf [:toarray [/log find message~”BruteForcesWinbox” || message~”BruteForcesSshTelnet” || message~”PortScanner” || message~”BruteForcesFtp” || message~”DDoS” || message~”logged in” || message~”login failure” || message~”logged out”]]
:local removeThese {“telnet”;”whatever string you want”}
Kalau buat schedule baru artinya ada 2 schedule (untuk alert login router dan serangan), ini akan membuat CPU berat karena script ini cukup memakan CPU.
Kalau di marge harus di filter antara serangan dan login error.
Mudahnya gunakan aja 1 schedule saja, tapi pesan errornya misal seperti ini
/tool fetch url=”https://api.telegram.org/bot$bot/sendmessage?chat_id=$ChatID&text=Ada log baru $currentTime : $output” keep-result=no;
Jadi semua log (log error atau log serangan) dalam satu schedule
Halo mas,
terimakasih untuk tutorialnya, tapi saya mengalami masalah ketika saya mengaktifkan script seperti contoh diatas, pada log muncul [LOGMON] ERROR: Schedule does not exist. Create schedule and edit script to match name
klu gak jalan di bagian ini yang di edit
{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;
}}
ada bug nya om, terkadang saya dikirimi pesan yg sama sebelumnya delay antar pesan yg sama 4-24 jam biasanya, apakah ga bisa di fix, mungkin om juga mengalamai
# warn if schedule does not exist and create it
:if ([:len [/system scheduler find name=”$scheduleName”]] = 0) do={
/log warning “[LogFilter] Alert : Schedule does not exist. Creating schedule ….”
/system scheduler add name=$scheduleName interval=60s start-date=Jul/05/2019 start-time=startup on-event=LogFilter
/log warning “[LogFilter] Alert : Schedule created .”
}
# 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])
}
}
Persiapan
Pada pembuatan pembayaran otomatis dengan Payment Gateway Midtrans ada beberapa tahapan dan kebutuhan yang perlu disiapkan diantaranya yaitu:
Akun Payment Gateway...
Kirim
Maaf, tidak semua pesan bisa saya balas
Mohon maaf, tidak semua pesan bisa saya balas, silahkan ceritakan dengan singkat apa yang Kamu butuhkan. Terimakasih
gabisa gan ga jalan
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
sudah saya coba mas, tapi tidak berhasil.
Terimakasih telah berkunjung mas…mungkin step by step ada yg kurang
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
tetap tidak bisa bang, padahal sudah saya benarkan
terima kasih… tp sy masih blm berhasil
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
tidak ada hasilnya mas,, gimana?
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Its not working with my test, i need your help
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
sudah saya coba juga belum berhasil, pada bagian
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Saya coba tidak bisa jalan, padahal saya sudah siapin botnya dan sesuai petunjuk tapi tetap tidak jalan.
Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
Saya Sudah Coba Pak Dengan ROS 6.34.3, Apa Mungkin Tidak Support Ya, Mohon Pencerahannya Pak….? Terimakasih
Menurut wiki.mikrotik.com script ini berjalan pada v5.26 dan v6.20, seharusnya berjalan juga di versi terbarunya. Ternyata ada kesalahan penulisan logika di fungsi if ([:len $output] ; 0) do={ seharusnya if ([:len $output] > 0) do={ sehingga script ini tidak bekerja
alhmdllh berhasil mas
bisa ndak mas tambahin lagin.
mac addres yang login
dan identity mikrotik di sertakan agar lebih detail yang sedang login
Tambahkan baris ini :local router “Router Id: $[/system identity get name]”
kalau menambahkan MAC di login failure tidak bisa, mungkin bisa pakai cara ini, contoh menampilkan identity bisa dilihat di postingan ini:
https://labkom.co.id/mikrotik/mencegah-serangan-pada-mikrotik-dan-di-monitoring-oleh-bot-telegram
oke, saya coba mas
mas, login hotspot juga masuk k scrip ini ya..
saya tes
oke mas saya coba nanti
oh ya mas, knapa login hotspot juga masuk disini ya
kalau login winbox keterangan yg muncul di log “login failure”, kalau hotspot “login failed”…tapi untuk login sama log nya yaitu “logged in”.. kalau tidak mau muncul login hapus saja baris ini ( /log find message~”logged in” )
ndk muncul mas router edintity ya, mohon bantu edit mas scrip ya..
hilangin user hotpot login sama munculin edentity router
/system scheduler
add comment=”oct/25/2019 03:35:08″ interval=2s name=LogMikrotik on-event=”# BE\
GIN SETUP\r\
\n:local scheduleName \”LogMikrotik\”\r\
\nlocal bot \”961118021:AAEo43Cs08y-hSlJSAj67Gao-Wa_z_SH-YQ\”\r\
\nlocal ChatID \”-384304380\”\r\
\n:local startBuf [:toarray [/log find message~\”logged in\” || message~\”\
login failure\”]]\r\
\n:local removeThese {\”telnet\”;\”whatever string you want\”}\r\
\n# END SETUP\r\
\n\r\
\n# warn if schedule does not exist\r\
\n:if ([:len [/system scheduler find name=\”\$scheduleName\”]] = 0) do={\r\
\n /log warning \”[LOGMON] ERROR: Schedule does not exist. Create schedul\
e and edit script to match name\”\r\
\n}\r\
\n\r\
\n# get last time\r\
\n:local lastTime [/system scheduler get [find name=\”\$scheduleName\”] co\
mment]\r\
\n# for checking time of each log entry\r\
\n:local currentTime\r\
\n# log message\r\
\n:local message\r\
\n \r\
\n# final output\r\
\n:local output\r\
\n\r\
\n:local keepOutput false\r\
\n# if lastTime is empty, set keepOutput to true\r\
\n:if ([:len \$lastTime] = 0) do={\r\
\n :set keepOutput true\r\
\n}\r\
\n\r\
\n:local counter 0\r\
\n# loop through all log entries that have been found\r\
\n:foreach i in=\$startBuf do={\r\
\n \r\
\n# loop through all removeThese array items\r\
\n :local keepLog true\r\
\n :foreach j in=\$removeThese do={\r\
\n# if this log entry contains any of them, it will be ignored\r\
\n :if ([/log get \$i message] ~ \”\$j\”) do={\r\
\n :set keepLog false\r\
\n }\r\
\n }\r\
\n :if (\$keepLog = true) do={\r\
\n \r\
\n :set message [/log get \$i message]\r\
\n\r\
\n# LOG DATE\r\
\n# depending on log date/time, the format may be different. 3 known for\
mats\r\
\n# format of jan/01/2002 00:00:00 which shows up at unknown date/time. \
Using as default\r\
\n :set currentTime [ /log get \$i time ]\r\
\n# format of 00:00:00 which shows up on current day’s logs\r\
\n :if ([:len \$currentTime] = 8 ) do={\r\
\n :set currentTime ([:pick [/system clock get date] 0 11].\” \”.\$cur\
rentTime)\r\
\n } else={\r\
\n# format of jan/01 00:00:00 which shows up on previous day’s logs\r\
\n :if ([:len \$currentTime] = 15 ) do={\r\
\n :set currentTime ([:pick \$currentTime 0 6].\”/\”.[:pick [/syste\
m clock get date] 7 11].\” \”.[:pick \$currentTime 7 15])\r\
\n }\r\
\n }\r\
\n \r\
\n# if keepOutput is true, add this log entry to output\r\
\n :if (\$keepOutput = true) do={\r\
\n :set output (\$output.\$currentTime.\” \”.\$message.\”\\r\\n\”)\r\
\n }\r\
\n\r\
\n :if (\$currentTime = \$lastTime) do={\r\
\n :set keepOutput true\r\
\n :set output \”\”\r\
\n }\r\
\n }\r\
\n :if (\$counter = ([:len \$startBuf]-1)) do={\r\
\n :if (\$keepOutput = false) do={ \r\
\n :if ([:len \$message] > 0) do={\r\
\n :set output (\$output.\$currentTime.\” \”.\$message.\”\\r\\n\”)\
\r\
\n }\r\
\n }\r\
\n }\r\
\n :set counter (\$counter + 1)\r\
\n}\r\
\n\r\
\nif ([:len \$output] > 0) do={\r\
\n /system scheduler set [find name=\”\$scheduleName\”] comment=\$current\
Time\r\
\n /tool fetch url=\”https://api.telegram.org/bot\$bot/sendmessage\?chat_\
id=\$ChatID&text=MikroTik alert \$currentTime : \$output\” keep-result=no;\
\r\
\n}” policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
start-time=startup
gak jalan, boleh minta scriptnya boz?
Scriptnya ada di postingan, atau coba saja pakai dari sumbernya, hanya saja ada sedikit modifikasi dibagian send telegram https://wiki.mikrotik.com/wiki/Monitor_logs,_send_email_alert_/_run_script
Adakah efek samping dari penggunaan script diatas om,,kerena pasti nya durasi dari pengiriman,log pasti hampir setiap saat
Kalau di saya ada penggunaan cpu yg melonjak 20% ketika script dijalankan
bang minta scrinya saya cari gak ada
klik ini
gak bisa di clik bang
sama gak jalan juga, apa mikrotik harus di restart terlebih dahulu? dan service api/telnetnya haru s aktif ya
Sepertinya ada kesalahan di scriptnya, ini ga perlu service api/telnet yg aktif
gan mau nanya untuk logged failed,
kalau pakai ini yg terkirim hanya ip saja = :local startBuf [:toarray [/log find message~”logged failed”]]
apa yang ditambah agar macc adresst logged failed hotspot terkirim ke telegram
tambahkan saja kata unik yg muncul di log misalnya seperti ini
/log find message~”BruteForcesWinbox” || message~”BruteForcesSshTelnet” || message~”PortScanner” || message~”BruteForcesFtp” || message~”DDoS”
mas mau tanya, kenapa ya kalau script scheduler nya di aktifin, cpu load dari 1% naik ke 25-40%, kalo di disable kembali ke 1%..?
mungkin suhu yg lain ada yg bisa bantu..
script ini memang memakan proses cpu yg tinggi mas karena ada proses looping, alternatifnya mungkin dijalankan dengan interval yg tidak terlalu cepat
Halo mas,
kan di script ini jg hampir mirip dengan yg alert ketika ada serangan ke router, itu sdh jln.
nah ini nnti di merge atau di buat scheduler baru ya?
jika di merge sy bingung di bagian ini:
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;
(ini yg alert login ke router)
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=Telah Terjadi Serangan pada: %0A$router %0A $output” keep-result=no;
/log info “[LOGMON] New logs found, send telegram”
(ini yg alert serangan)
dan bagian ini sy tambhin message login, logout ,,
:local startBuf [:toarray [/log find message~”BruteForcesWinbox” || message~”BruteForcesSshTelnet” || message~”PortScanner” || message~”BruteForcesFtp” || message~”DDoS” || message~”logged in” || message~”login failure” || message~”logged out”]]
:local removeThese {“telnet”;”whatever string you want”}
Mohon bantuannya suhuu ..
Kalau buat schedule baru artinya ada 2 schedule (untuk alert login router dan serangan), ini akan membuat CPU berat karena script ini cukup memakan CPU.
Kalau di marge harus di filter antara serangan dan login error.
Mudahnya gunakan aja 1 schedule saja, tapi pesan errornya misal seperti ini
/tool fetch url=”https://api.telegram.org/bot$bot/sendmessage?chat_id=$ChatID&text=Ada log baru $currentTime : $output” keep-result=no;
Jadi semua log (log error atau log serangan) dalam satu schedule
hallo mas,
ini saya coba berhasil namun jadi double untuk waktunya.
contoh seperti ini:
MikroTik alert feb/23/2020 10:48:35 : feb/23/2020 10:48:35
yg manakah yg harus diubah di scriptnya??
makasih
di script paling bawah ada variabel $currentTime, itu hapus aja
Halo mas,
terimakasih untuk tutorialnya, tapi saya mengalami masalah ketika saya mengaktifkan script seperti contoh diatas, pada log muncul [LOGMON] ERROR: Schedule does not exist. Create schedule and edit script to match name
Schedule harus sama bang, sesuai yg diminta di scriptnya
klu gak jalan di bagian ini yang di edit
{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;
}}
untuk script nya bahasa apa ya bang
not working this script and turns my haplite system reboot and 100% cpu usage
btw im from Philippines
Udah share tpi ga bisa liat script nya
Assalamualaikum bang yayan. Haruskah pakek aplikasi bawaan the dude untuk bisa notif ke telegram bang?
Walikumsalam,,cuma pake script juga bisa
ga jalan kak
ada bug nya om, terkadang saya dikirimi pesan yg sama sebelumnya delay antar pesan yg sama 4-24 jam biasanya, apakah ga bisa di fix, mungkin om juga mengalamai
setelah update versi ke 6.48.2 scriptnya tidak mau jalan..
setelah update versi mikrotik ke 6.48.2 scriptnya tidak mau jalan,solusinya?
script ini masih bisa jalan ga om Yayan.?
di sy pertengahan juni 2021 tiba” ga jalan soalnya.
mungkin krn ada update format json API.nya telegram jadinya ga jalan lagi script monitoring mikrotiknya.
kode updatenya/perbaikannya spt ini, work very nice on ros 6.48.3
# BEGIN SETUP Edit Here
:local myserver ([/system identity get name])
:local scheduleName “LogFilter”
:local bot “YOUR_BOT_TOKEN”
:local ChatID “YOUR_CHAT_ID”
:local startBuf [:toarray [/log find message~” failure” || message~”loop” || message~”down” || message~”fcs” || message~”excessive”]]
:local removeThese [:toarray “”]
# END SETUP
# warn if schedule does not exist and create it
:if ([:len [/system scheduler find name=”$scheduleName”]] = 0) do={
/log warning “[LogFilter] Alert : Schedule does not exist. Creating schedule ….”
/system scheduler add name=$scheduleName interval=60s start-date=Jul/05/2019 start-time=startup on-event=LogFilter
/log warning “[LogFilter] Alert : Schedule created .”
}
# 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.” %0A%0A “)
}
: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)
}
}
}
: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=$myserver%0A%0A$output” keep-result=no;
}
Kok saya gk bsa ya mas, padahal memakai versi mikrotik yg sama
apaka ini masi berfungsi om
sudah ngak bisa jalan kah di versi 6.49 ?
CPU jeboll kwwkkw, maksa running di 941 gakuat
Gak jalan nih.. di ros 6.48.3
ga work om
Tidak berjalan di ROS 7.12.1…terimakasih