แจ้งเตือน Line Notify จาก Mikrotik Router OS

#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

[wp_ad_camp_1]

ผมใช้อันนี้เลย ส่งไปหลายอย่าง

เพิ่มใน 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 (เขียนเอาเองนะ)

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *