Host Monitoring สุดหล่อ ด้วย Uptime Kuma

Thanatach Assavarattanakorn
SCB Engineer
Published in
2 min readDec 22, 2022

แน่นอนว่าทุกคนที่มาเจอบทความนี้ก็อาจจะคิดว่านี่ก็เป็น Monitoring Tool ธรรมดา ๆ ตัวนึงใช่ไหมละครับ ….

ฮ่า ๆ ท่านคิดถูกแล้วครับ 😛 (ตึกโป๊ะ) …

ล้อเล่น ๆ จริง ๆ แล้ว Monitoring Tool ตัวอื่นที่อยู่ในท้องตลาดโดยส่วนใหญ่แล้วเนี่ย เราก็มักจะติดภาพจำมันว่าเป็น Monitoring Tool สำหรับวงการ Enterprise ในองค์กรใหญ่ ๆ ซึ่งหน้าตาไม่สวยมาก (ถ้าไม่ได้ใช้กับ Grafana อ่ะนะ 😵‍💫) แต่เจ้า Uptime Kuma เนี่ย คอนเซ็ปต์เฮียแกฉีกมาก เพราะเฮียแกบอกว่าเฮียแกเป็น

A fancy self-hosted monitoring tool

โอเค มันเป็นแฟนซีอย่างไรไหนโชว์ซิ 🥸

ภาพจาก https://github.com/louislam/uptime-kuma

ว้าว ! ทุกคนน 😍😍😍 มันดูดี น่าใช้มาก และคือถ้าใครรู้จักกับ Uptime Robot มาก่อนละก็ ….

มันคือสารตั้งต้นของ Uptime Kuma นั่นเอง

เอาหล่ะ มาต่อกัน ด้วยความสามารถของเจ้า Uptime Kuma เนี่ย มันก็สารพัตประโยชน์มากเลยนะ มัน Monitor ได้เยอะมากกก ไม่ว่าจะเป็น HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server / Docker Containers

แล้วนอกจากความสามารถในการ Monitor ที่รองรับแบบเยอะพอตัวแล้วด้วยเนี่ย เฮียแกยังรองรับการ Notification ที่ทำได้หลาย Platform มาก ๆ ด้วย ซึ่งเฮียแกเคลมไว้ว่ารองรับกว่า 100 Platform แหน่ะะ 🤓

ภาพ Notification setting ใน Uptime Kuma

เอาหล่ะ มาลองดูซิว่าใช้งานจริงเป็นยังไง ??

ส่วนตัวผมก็รู้จักและก็ใช้งานกับเจ้า Uptime Kuma เนี่ย มาซักพักนึงแล้ว ขอบอกเลยว่าเอาอยู่เลยนะ ตอนแแรกเนี่ย กะจะ Demo ใช้เพื่อสำรวจและลองของใหม่เฉยๆเลย แต่พอรู้ตัวอีกที สิ่งนี้ก็กลายมาเป็นอาวุธคู่กายประจำ Self-hosted ของผมไปซะแล้ว

Uptime Kuma Dashboard

จะเห็นว่าผมใช้งานจริง ๆ กับ Service ทั้งหมดที่ผมถือไว้อยู่เลยไม่ว่าจะเป็น VM ที่เป็น Windows ยันกล่อง DVR ของกล้องวงจรปิดเลยครับ และแน่นอน ผมก็ใช้ Notification ไปผูกกับไลน์ด้วย

ใช่แล้วครับ ! ได้ยินไม่ผิด เฮียแกรองรับ Line notify ด้วย 😮

ภาพ Line notify จาก Uptime Kuma

ไหนรีวิวประสบการณ์ใช้งานจริงซิ

ภาพ Service ของ Plex Media server จาก Uptime Kuma

เริ่มจากภาพรวมก่อนเลยเนอะ

คือช่วงแรกที่ผม Self-Hosted เนี่ย Service มันยังมีไม่เยอะ และไม่หลากหลายเท่าไหร่ เวลาเช็คว่าตัวไหนมันระเบิด ก็ใช้เวลาไม่มากนะะ อย่างมากก็ลองเข้า Hypervisor ของตัวเองดู มองผ่านๆตัวไหนตายก็เข้าไป Investigate

แต่พักหลังๆมาเนี่ยอาจจะด้วยความซนหรือแพชชั่นบางอย่าง คือ Service กับ VM ผมก็งอกขึ้นมาเยอะมากๆจนตาม Monitor ไม่ทันกันเลยครับ แล้วยิ่งถ้า Service ไหนมัน Depend on Service อื่นอีกทีเนี่ย ไล่งมกันให้มึนเลย ไม่รู้ว่ามันระเบิดที่ Chain ไหน

จนพอมีเจ้า Uptime Kuma เข้ามาเนี่ยก็รู้กว่า เอ่ออ … ชีวิตมันง่ายขึ้นเนอะะ 😊

แต่ไม่ใช่ว่าข้อเสียมันไม่มีนะะ😥 อย่างแรกเลย คือถ้าเราจะเรียกดูพวก Monitoring history ย้อนหลังไปไกลๆระดับเดือนเนี่ยย จะช้ามากกก 🐌 drop down ยังกระตุกๆเลย กับเรื่องการ Notification ที่ Detail Time Zone มันยังปรับไม่ได้ คือเฮียแกจะมาเป็น Default ของ UTC เลย แต่จากที่ไปส่องใน GitHub มา คาดว่า Dev น่าจะแก้ในเร็ว ๆ นี้นะ

ยังไงถ้าอ่านมาถึงตรงนี้ก็พาไปโหลดเลยดีกว่า

ไป Github โลดดด Uptime Kuma และจากนั้นไป Pull docker ของเฮียแกมาก็เสร็จแล้วว หรือจะก็อป Docker command ด้านล่างนี้เลยก็ได้นะะ

docker run -d - restart=always -p 3001:3001 -v uptime-kuma:/app/data - name uptime-kuma louislam/uptime-kuma:1

Refference

--

--

Thanatach Assavarattanakorn
SCB Engineer

Software Engineer, QA spin my head right round right round