กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see

[วิธีทำ] การตั้งค่า WhatsUp Gold ให้ส่งข้อความแจ้งเตือนผ่าน LINE โดยใช้ Python

admin

Staff Member
Administrator
ปัจจุบันหลายๆ ที่ยกเลิกการส่งข้อความแจ้งเตือนผ่าน SMS โดยหันมาใช้ platform ที่ใช้งานกันอย่างแพร่หลาย เช่น LINE เนื่องจากประหยัดค่าใช้จ่ายเมื่อเทียบกับการใช้ SMS
วันนี้จะขอยกตัวอย่างการตั้งค่า WhatsUp Gold 2018 ให้สามารถ ส่งข้อความแจ้งเตือน (Alert) ผ่าน LINE เพื่อเป็นประโยชน์สำหรับบางท่านที่กำลังมองหาวิธีการกันอยู่ หรือบางท่านที่ยังไม่ทราบว่าทำได้ครับ
36779244_975284619299571_986374677301559296_n.png
  • ติดตั้ง Module “requests” โดยใช้ pip3.7.exe ที่ path ที่ติดตั้ง python ในตัวอย่างจะเป็น path = C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts จากนั้นทำการพิมพ์ “pip3.7 install requests”
ตัวอย่าง
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts>pip3.7 install requestsCollecting requests Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whlRequirement already satisfied: idna<2.8,>=2.5 in c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages (from requests) (2.7)Requirement already satisfied: certifi>=2017.4.17 in c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages (from requests) (2018.4.16)Requirement already satisfied: urllib3<1.24,>=1.21.1 in c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages (from requests) (1.23)Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages (from requests) (3.0.4)Installing collected packages: requestsSuccessfully installed requests-2.19.1

  • จากนั้นเริ่มทำการ Generate LINE Token โดยไปที่ https://notify-bot.line.me/en/ ทำการ Login แล้ว คลิ้กเลือก My Page
36772297_975301795964520_7707864612821008384_n.png
  • เลื่อนมาด้านล่างจะพบปุ่ม Generate Token
36803986_975300909297942_3040686611906953216_n.png
  • ตั้งชื่อ token แล้วเลือก Line Group หรือจะเลือกเป็นแบบ 1:1 กับ Line ก็ได้ จากนั้นทำการคลิ้ก Generate token
36785161_975305972630769_6426748032464715776_n.png
  • ทำการ Copy Token เพื่อที่จะนำไปใส่ใน Code Python
36800267_975309512630415_9086507161596461056_n.png
  • สร้างไฟล์ python ขึ้นมา สามารถ copy code ตามด้านล่างได้เลยครับ จากนั้นใส่ตัวแปร token = <token ของ LINE ที่เราได้เตรียมไว้>
#usage: SendLIINE.py <message>import requestsimport sysapi = 'https://notify-api.line.me/api/notify'token = 'RnRtl1UAaIlAleE4RxJzb4LvpRu1sEE2FwHNZo8SYWd'headers = {'content-type':'application/x-www-form-urlencoded','Authorization':'Bearer '+token}
msg = sys.argv[1]out = requests.post(api, headers=headers , data = {'message':msg})print(out.text)
  • ทำการ save ไฟล์ไว้ที่ path c:\ (หรือ path อื่นที่ต้องการ) จากนั้นทำการทดสอบการทำงานของ python
Syntax ของ Script นี้ คือ​
# python <ไฟล์ py> <ข้อความ>​

  • ทำการทดสอบโดยการ Run Python ตามตัวอย่างด้านล่าง
C:\Users\Administrator\AppData\Local\Programs\Python\Python37>python c:\SendLINE.py "I'm WhatsUp Gold!!!"{"status":200,"message":"ok"}
  • หลังจากทดสอบจะพบว่า Status = 200 (ถ้าถูกต้อง) และเราจะได้รับข้อความจาก LINE ตามที่เราพิมพ์
36806990_975319025962797_1286542627289694208_n.png
  • เปิด WhatsUp Gold จากนั้นไปที่ SETTING > Actions & Alerts > Action and Policies
36810563_975321475962552_315654408056602624_n.png
  • สร้าง New Action Library จากนั้นเลือก Program Action
36782648_975324495962250_7314011851170250752_n.png
  • กรอกข้อมูลให้ครบถ้วน จากนั้นกด OK
Name: LINE-Alert
Program file name: <path ของ python.exe>
Program argurments: C:\SendLINE.py "%Device.ActiveMonitorDownNames is %Device.State on %Device.Role: %Device.HostName (%Device.Address). Details: Monitors that are down include: %Device.ActiveMonitorDownNames Monitors that are up include: %Device.ActiveMonitorUpNames Notes on this device (from device property page): %Device.Notes ---------------------------------------- This message was sent on %System.Date at %System.Time Ipswitch WhatsUp Gold"
ตัวอย่าง
36774242_975332909294742_6695005217257160704_n.png

  • สร้าง New Action Policy โดยตั้งชื่อและกด Add
36821227_975327539295279_3799307102011260928_n.png
เลือก Action Library = LINE-Alert (จากที่ได้สร้างก่อนหน้านี้) - เลือก Execute On Down
36784687_975327829295250_580236926204772352_n.png
  • เลือก Execute On Up ตามเงื่อนไข
36781667_975328669295166_524176113954455552_n.png

  • เราจะได้ Action policy จากนั้นจึงทำการกด OK
36894710_975329872628379_3570569689425772544_n.png
  • หลังจากสร้าง Action Policy เรียบร้อยแล้ว ต่อไปเราจะ assign policy ให้กับ Device ที่เราต้องการ โดยไปที่ Device Properties > Edit (ตามภาพด้านล่าง)
36786343_975341725960527_9025100884589150208_n.png
  • เลือก Action Policy = LINE_Alert และกด OK
36763504_975341292627237_7966401135571369984_n.png
  • หลังจากเลือก Action Policies แล้ว เราจะเห็นว่า Action Policies จะผูกกับ Device นี้ โดยจะแสดงดังภาพด้านล่าง
36789682_975343115960388_1613551983984115712_n.png
  • ทดสอบทำให้ Device Down เพื่อดู LINE Alert (ตัวอย่างจะใช้วิธีการเปลี่ยน IP แทน)
36765641_975351332626233_8834053656861999104_n.png
  • ..จากนั้น รอ 5 นาทีตาม Policy
36861978_975351682626198_7742643810580037632_o.png
  • หลังจากรอ 5 นาทีพบว่ามี LINE ส่ง Alert มา
36813545_975355789292454_6256512120309940224_n.png
  • จากนั้นทดสอบ การ Alert Up กันต่อ โดยการเปลี่ยน iP กลับมาเป็น 8.8.8.8 เหมือนเดิม
36818874_975357182625648_7053523965863526400_n.png
  • เนื่องจากเรา Setup ไว้ว่า ถ้า Up ให้ส่งทันที ดังนั้นเราจึงได้รับ LINE หลังจากระบบ Up ขึ้นมาทันที
36785191_975357932625573_5243329206334521344_o.png
หากเรามีความรู้เกี่ยวกับ Script Python นี้ เราสามารถจะประยุกต์ใช้กับระบบ Monitor อื่นๆ เช่น PRTG, Solarwind, Zabbix หรือระบบอื่นๆ ได้ เช่นกัน​
 


Top

AdBlock Detected

เราเข้าใจแล้วโฆษณานั้นน่ารำคาญ!

แน่นอนว่าซอฟต์แวร์บล็อกโฆษณาทำงานได้ดีเยี่ยมในการบล็อกโฆษณา แต่ก็ยังบล็อกคุณสมบัติที่มีประโยชน์และสำคัญบางอย่างของเว็บไซต์ของเรา เพื่อประสบการณ์การใช้งานเว็บไซต์ที่ดีที่สุดโปรดสละเวลาสักครู่เพื่อปิดการใช้งาน AdBlocker ของคุณ เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น

ขอขอบคุณสำหรับความเข้าใจและความร่วมมือของคุณ!

ตกลงปิด AdBlock
ไม่ปิด