#Mikrotik วันนี้มีปัญหาอินเตอร์เน็ตใช้งานไม่ได้ทั้งวัน แล้วเราก็ไม่ได้ดูว่าเพราะอะไร เข้าใจผิดคิดว่าเป็นกับการตั้งค่า แก้…..ตั้งนาน เพิ่งมาถึงบางอ้อว่า UNINET ตายยยย อีกแล้วครับท่าน (ไฟดับต้นทาง)
เมื่อแก้ไขระบบการสลับสายเน็ตเรียบร้อยแล้วจึงบังเกิด คำถาม? ทำอย่างไรเราจึงจะให้ทุกคนที่ใช้งาน รับรู้ร่วมกัน(เฉพาะครู) เลยลงไว้ที่ Line Notify
ขั้นตอนทำอย่างไร?
1.สร้าง Line Token
ขั้นแรก เข้าไปสร้าง Token ที่ https://notify-bot.line.me/my/ เมื่อได้ Token มายาวๆ แล้ว เราก็จะสามารถเข้าไปส่งแจ้งเตือนได้เลย ถ้าเป็น Line กลุ่ม อย่าลืมเชิญ Line Notify เข้าในกลุ่มด้วยนะครับ
Link เข้ารหัส URL : สำหรับสร้างการแจ้งเตือนภาษาไทย
http://meyerweb.com/eric/tools/dencoder/
2. สร้าง Script ในการแจ้งเตือน
ทดสอบใน Mikrotik ก่อนเลย
/tool fetch url=”http://linenotify.com/notify.php\?token=WOR763zo5nxnOXOXOXOXOXOXOXOXGVBz&message=TestLineNotify” keep-result=no
สามารถใช้งานได้ก็ OK ครับ (ห้ามมีช่องว่างให้ใช้ “%20” ในการเว้นวรรค) ยังไม่รู้ว่าใส่ขึ้นย่อหน้าได้ใหม
รูปแบบ ใน Script Mikrotik
:global message_text ข้อความที่ต้องการแสดง
/tool fetch url=”http://linenotify.com/notify.php\?token=WOR763zo5nxnOXOXOXOXOXOXOXOXGVBz&message=$message_text” keep-result=no
ผมใช้อันนี้เลย ส่งไปหลายอย่าง
เพิ่มใน system > script
==============================================
##SCRIPT SHOW-STATUS ##
:global active [/ip hotspot active print count-only];
:global host [/ip hotspot host print count-only];
:global pppoe [/ip address get [find interface=”pppoe-out1″] address];
:global cpu [/system resource get cpu-load]
:global uptime [/system resource get uptime]
:global vol [/system health get voltage]
:global temp [/system health get temperature]
:global model [/system resource get board-name]
:global iden [/system identity get name]
:global d [/system clock get date]
:global dt (“[“.[ :pick $d 7 11 ].”-“.[ :pick $d 0 3 ].”-“.[ :pick $d 4 6 ].”|”.[:pick [/system clock get time] 0 5].”]”)
:global mess ($dt.”STATUS”.$iden.” Model:”.$model.” IP:”.$pppoe.”/n Active:”.$active.” Host:”.$host.” CPU:”.$cpu.” UP:”.$uptime.” Volt:”.$vol.” Temp:”.$temp.”/n Internet”)
:global messnpwr($dt.$iden.”%20Model:”.$model.”%20IP:”.$pppoe.”%20Active:”.$Active.”%20Host:”.$Host.”%20CPU:”.$cpu.”%20UP:”.$uptime.”%20Volt:”.$vol.”%20Temp:”.$temp)
:if ([/ping “202.28.112.9” count=3]=0) do={
:global uni DOWN
:global mess ($mess.”UNINET:DOWN”)
:global messnpwr ($messnpwr.”%20UNINET:DOWN”)
} else {
:global mess ($mess.”UNINET:UP”)
:global messnpwr ($messnpwr.”%20UNINET:UP”)
}
:if ([/ping “203.113.7.130” count=3]=0) do={
:global tot DOWN
:global mess ($mess.”<>TOT:DOWN”)
:global messnpwr ($messnpwr.”<>TOT:DOWN”)
} else {
:global mess ($mess.”<>TOT:UP”)
:global messnpwr ($messnpwr.”<>TOT:UP”)
}
:log info $mess
####NPWRLine
/tool fetch url=”http://linenotify.com/notify.php\?token=occhSLW8DyaMSqEcVPoImXxxxxxxxxxxxxxxxxxxxxxxxxxXW4X&message=$messnpwr” keep-result=no
==================================================
จะได้
ทีนี้ก็ขึ้นอยู่กับว่าจะให้แจ้งตอนให้ครับ ใส่ใน /system scheduler ได้เลย
add interval=1d name=internet-status0800 on-event=SHOW-STATUS policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=sep/08/2017 start
add interval=1d name=internet-status1200 on-event=SHOW-STATUS policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=sep/08/2017 start
หวังว่าจะเป็นประโบชน์ต่อ(ผม)…. ในครั้งต่อไปถ้าลืม…..
8 thoughts on “แจ้งเตือน Line Notify จาก Mikrotik Router OS”
ครูโป้ง ดอตเน็ต
(17/01/2019 - 20:26)แสดง User Online
:foreach i in=[/ip hotspot active find] do={
local mac [/ip hotspot active get $i mac-address]
local user [ip hotspot active get $i user]
log info “user $user and mac $mac”
}
ครูโป้ง ดอตเน็ต
(17/01/2019 - 21:07):local online [ /ip hotspot active print count-only ]
:global mess (“User%20Active[“.$online.”]”)
:foreach i in=[/ip hotspot active find] do={
local mac [/ip hotspot active get $i mac-address]
local user [ip hotspot active get $i user]
log info “user $user – $mac”
:global mess ($mess.”%0A”.$user.”>”.$mac)
}
:log info $mess
## Line
/tool fetch url=”http://linenotify.com/notify.php\?token=xxxxxxxxxxxxxxxxx&message=$mess” keep-result=no
Anirut
(19/07/2019 - 09:00)สวัสดีครับคุณครูผมอยากทราบวิธีการใส่ script show status ของคุณครูหน่อยครับว่าจะต้องใส่ตรงไหนอย่างไรบ้างครับ
lee
(25/07/2019 - 19:51)นำไปใส่ในสวนไหนครับ
ครูโป้ง ดอตเน็ต
(01/08/2019 - 15:47)เพิ่มใน /system script
แล้วใช้
/system scheduler
add interval=1d(1 วันครั้ง) name=internet-status1000 on-event=SHOW-STATUS policy=read,write,policysensitive,romon start-date=sep/08/2018 start-time=10:00:00 (เวลาให้แสดง)
ทำเป็นรอบ ๆ ได้ครับ
ถ้าอยากให้แสดงตอนใหน เช่น User Login ก็ใส่ในส่วนของ Hotspot > User Profiles > Script ได้ครับ
Anirut
(09/09/2019 - 22:54)ครูโป้งครับแล้วตถ้าผมต้องการให้มันแสดงการแจก DHCP Server ว่าใครได้ ip อะไรต้องทำอย่างไรครับ ตัวอย่างแบบนี้อะครับ
<<<<>>>>
—————————–
Server : $Server
IP : $IP
MAC : $MAC
Host : $Host
Date : $d/$m/$y
Time : $time
Bound : $Bound
——— Thank You ———
รบกวนครูโป้งช่วยสอยผมหน่อยครับ
Siam
(06/04/2020 - 21:02)ค่าตัวแปรตรงนี้ ไปอ้างอิงตรงไหนอีกหรือเปล่าครับ เพราะเวลา wan ขาใดขาหนึ่ง down มันจะไม่ส่ง line
:global uni DOWN
:global tot DOWN
ครูโป้ง ดอตเน็ต
(23/05/2020 - 11:16):global uni DOWN
:global tot DOWN
ตัวแปร 2 ตัว แค่เก็บสถานะเอาไว้ส่ง Line ครับ แต่ถ้าจะนำไปใช้ใน Scrip อื่นก็ได้ เช่น การเปลี่ยนเส้นทาง Route (เขียนเอาเองนะ)