Back

การประยุกต์ใช้ Uptime Kuma เตือนไฟฟ้าดับ

            เมื่อไฟฟ้าดับโดยไม่ได้รับการแจ้งล่วงหน้า แต่อุปกรณ์เครือข่ายติดตั้งไว้ในห้องที่มีระบบสำรองไฟฟ้า ทำให้ไม่สามารถทราบเวลาของระบบไฟฟ้าที่ดับและไม่แจ้งเตือนมายังระบบมอนิเตอร์ตามเวลาที่ถูกต้อง  เช่น กรณีไฟฟ้าดับ ระบบสำรองไฟฟ้ามีความสามารถสำรองไฟได้ ๑ ชั่วโมง หลังจากไฟดับเกิน ๑ ชั่วโมง ระบบมอนิเตอร์จึงจะแจ้งเตือนมา ทำให้ไม่ทราบเวลาที่เริ่มต้นของไฟฟ้าที่ดับและคิดว่ามีระบบสำรองไฟได้อีก ๑ ชั่วโมงจากอุปกรณ์สำรองไฟ ทำให้คาดการณ์ผิด มีผลให้ไม่สามารถ Shutdown ระบบอย่างปลอดภัยได้ทัน จึงประยุกต์ใช้ระบบ Uptime Kuma กับการแจ้งเตือนผ่าน Line หรือ Telegram เพื่อที่จะทำให้ทราบสถานะที่แท้จริงของไฟฟ้าในอาคาร ซึ่งปกติการแจ้งเตือนไฟฟ้าดับจะใช้อุปกรณ์อิเล็กทรอนิกส์หรือ Sensor หรือ IoT Sensor แต่ในการประยุกต์ครั้งนี้ เราจะใช้ อุปกรณ์เครือข่ายที่มี IP Management ซึ่งอาจใช้ Switch เก่า โดยติดตั้งกับปลั๊กไฟของอาคารที่ไม่มีระบบสำรองไฟ จากนั้นใช้ Uptime Kuma ที่มีการติดตั้งไว้

ขั้นตอนโดยสรุปมีดังต่อไปนี้

     (1) ติดตั้งอุปกรณ์ Switch หรืออุปกรณ์เครือข่ายที่สามารถกำหนด IP Address ที่จะทำการทดสอบ

     (2) ติดตั้งโปรแกรม Uptime Kuma

     (3) ตั้งค่าเพื่อ Monitor อุปกรณ์เครือข่ายในข้อ (1)

     (4) ตั้งค่า Notification ใน Uptime Kuma เช่น Line, Mail, Telegram ในการทดสอบนี้จะใช้ Telegram

     (5) ตั้งค่ารับ Notification ใน Telegram

ขั้นตอนการดำเนินการ

1. ติดตั้งอุปกรณ์ Switch หรืออุปกรณ์เครือข่ายที่ได้รับ IP Address

          ในการทดสอบครั้งนี้ใช้ TL-WR710N ตั้งค่าการทำงานแบบ Switch ที่ไม่ปล่อย IP Address รบกวนระบบเครือข่ายในอาคาร และไม่ปล่อยสัญญาณ WiFi รบกวนเครือข่ายไร้สายที่ใช้งานในบริเวณที่ดำเนินการ

2. ติดตั้งโปรแกรม Uptime Kuma มีหลายวิธี สามารถดูวิธีการติดตั้งได้ที่เว็บไซต์ของ Uptime Kuma https://github.com/louislam/uptime-kuma วิธีการติดตั้งที่ง่ายคือการติดตั้ง Uptime Kuma ด้วย Docker บน Linux Server แต่ครั้งนี้เรามี Uptime Kuma ที่ใช้งานเพื่อ Monitor ระบบงานอยู่แล้ว (10.4.1.44) โดยใช้สำหรับมอนิเตอร์ เว็บ, Radius สำหรับ Internet Authentication, Radius สำหรับ VPN Authentication, Switch แบบพื้นฐานผ่านการ Ping ฯลฯ โดย Uptime Kuma มี Feature พื้นฐานดังต่อไปนี้

  • Monitoring uptime for HTTP(s) / TCP / HTTP(s) Keyword / HTTP(s) Json Query / Ping / DNS Record / Push / Steam Game Server / Docker Containers
  • Fancy, Reactive, Fast UI/UX
  • Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and 90+ notification services, click here for the full list
  • 20-second intervals
  • Multi Languages
  • Multiple status pages
  • Map status pages to specific domains
  • Ping chart
  • Certificate info
  • Proxy support
  • 2FA support

หลังจากติดตั้งเสร็จเข้าใช้งานผ่านเว็บแอพพลิเคชั่นที่ http://IP-Server(ของ Uptime Kuma):3001

3. ตั้งค่าเพื่อ Monitor อุปกรณ์เครือข่ายที่นำมาติดตั้ง

          เมื่อเข้าระบบ Uptime Kuma แล้วให้ตั้งค่ามอนิเตอร์อุปกรณ์เครือข่ายที่ติดตั้ง ที่ Uptime Kuma คลิก Add New Monitor ใส่ IP ของอุปกรณ์ที่เราติดตั้ง

4. ตั้งค่า Notification ใน Telegram

          พิมพ์ /newbot ทำการ Copy token API Key เก็บไว้

          คลิก START ที่ Telegram แล้วให้ไปตั้งค่าที่ Uptime Kuma นำ token API Key ที่เก็บไว้ มาใส่ใน Bot Token หลังจากสร้าง Bot ให้เราเอาค่า Chat ID จาก URL ใน Setting Notification ของ Uptime Kuma มาใส่ในช่อง Chat ID

          ทดสอบการทำงานของทั้ง Uptime Kuma และ Telegram โดยถอดปลั๊กอุปกรณ์ที่เราทดสอบ จำลองไฟดับ จะมีการแจ้งเตือนมาที่ Telegram แล้ว

5. ตั้งค่ารับ Notify ใน Telegram แบบกลุ่มตามภาพ

Add Members ชื่อคนเข้ากลุ่ม และ Add Members BOT ที่เราสร้างเข้ากลุ่มด้วย

          หลังจากสร้าง Group เรียบร้อย ให้เราเอาค่า Chat ID จาก URL ใน Setting Notification ใน โปรแกรม Uptime Kuma มาใส่

          จากนั้นทำการปรับแต่งที่ Uptime Kuma กำหนดช่วงเวลาในการ Resend Notification if Down X times consecutively (Resend every 1 times) ให้ส่งตลอดทุกครั้งทุก 60 วินาที จนกว่า ไฟฟ้าจะติด ดังรูป

          ทดสอบดึงปลั๊กจำลองไฟดับ สังเกตที่ Uptime Kuma และ Telegram

          จากการทดสอบ เราสามารถนำโปรแกรม Uptime Kuma และ Telegram ไปประยุกต์ใช้ตรวจสอบไฟฟ้าดับที่ส่วนงานต่าง ๆ ในมหาวิทยาลัย โดยมีการแจ้งเตือนมาที่ผู้ดูและระบบได้