Grafana Dashboard Visualization Guide IT General

Grafana Dashboard Visualization Guide

📅 2026-02-09 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

Grafana Dashboard Visualization Guide โดย อ.บอม SiamCafe.net

Grafana Dashboard Visualization Guide คืออะไร / ทำไมถึงสำคัญ

น้องๆ เคยปวดหัวกับการดู Log หรือ Metric ที่มันเยอะแยะตาลายไหม? สมัยผมทำร้านเน็ต SiamCafe.net เมื่อก่อนนะ ข้อมูล Server นี่กองเป็นภูเขาเลากาเลย จะหาอะไรทีนึงนี่งมเข็มในทะเลชัดๆ Grafana เนี่ยแหละครับ คือพระเอกขี่ม้าขาวที่จะมาช่วยเราจัดการปัญหาพวกนี้

Grafana คือเครื่องมือ Visualization ที่เอาไว้ทำ Dashboard สวยๆ ดูง่ายๆ ทำให้เราเห็นภาพรวมของข้อมูลได้ชัดเจน ไม่ว่าจะเป็น CPU Usage, Memory, Network Traffic หรืออะไรก็ตามที่เราอยากจะ Monitor

ทำไมถึงสำคัญน่ะเหรอ? ลองนึกภาพว่าเรามีร้านอาหาร แล้วเราไม่รู้เลยว่าเมนูไหนขายดี เมนูไหนขายไม่ดี เราก็สั่งวัตถุดิบมั่วซั่วไปหมด สุดท้ายก็เจ๊ง! Grafana ก็เหมือนกัน ถ้าเราไม่ Monitor ระบบของเรา เราก็ไม่รู้ว่าตรงไหนมีปัญหา ตรงไหนต้องปรับปรุง สุดท้ายระบบก็ล่ม! เข้าใจยัง?

พื้นฐานที่ต้องรู้

ก่อนจะไปลงมือทำ Dashboard จริงๆ เรามาปูพื้นฐานกันก่อนนิดนึง จะได้ไม่งงตอนใช้งานจริง

Data Source

Data Source คือแหล่งข้อมูลที่เราจะเอามาแสดงผลใน Grafana สมัยผมทำร้านเน็ตฯ ผมใช้ Data Source หลายแบบเลย เช่น Prometheus สำหรับเก็บ Metric ของ Server, Elasticsearch สำหรับเก็บ Log, MySQL สำหรับเก็บข้อมูล Billing ลูกค้า (อันนี้สำคัญ! ต้องรู้ว่าใครเล่นเกมอะไรไปบ้าง คิดเงินถูกไหม)

Grafana รองรับ Data Source เยอะมาก ลองเข้าไปดูใน Grafana Documentation ได้เลย

Panel

Panel คือแต่ละส่วนประกอบใน Dashboard ของเรา เช่น กราฟแท่ง, กราฟเส้น, ตาราง, หรือ Single Stat (แสดงค่าเดียว) แต่ละ Panel จะ Query ข้อมูลจาก Data Source แล้วแสดงผลออกมาในรูปแบบที่เราเลือก

ลองนึกภาพว่า Panel ก็เหมือน Widget บนหน้าจอโทรศัพท์ของเรานั่นแหละ แต่ละ Widget ก็แสดงข้อมูลแตกต่างกันไป

Query

Query คือคำสั่งที่เราใช้ดึงข้อมูลจาก Data Source แต่ละ Data Source ก็จะมี Query Language ที่แตกต่างกัน เช่น Prometheus ใช้ PromQL, Elasticsearch ใช้ Lucene Query Syntax, MySQL ใช้ SQL (แน่นอน!) ต้องศึกษา Query Language ของ Data Source ที่เราใช้ให้เข้าใจ จะได้ดึงข้อมูลออกมาได้ตามที่เราต้องการ

สมัยผมหัดใช้ Prometheus ใหม่ๆ นี่มึนตึ้บเลย PromQL นี่อะไรวะเนี่ย! แต่พอใช้ไปเรื่อยๆ ก็เริ่มคล่องเองแหละ

วิธีใช้งาน / เริ่มต้นยังไง

เอาล่ะ! ทีนี้เรามาดูวิธีใช้งาน Grafana กันบ้าง เริ่มต้นยังไง ติดตั้งยังไง Config ยังไง

การติดตั้ง Grafana เนี่ยไม่ยากเลย มีให้เลือกหลายวิธี ทั้ง Download Package มาติดตั้งเอง, ใช้ Docker, หรือใช้ Cloud Service อย่าง Grafana Cloud (อันนี้สะดวกสุด)

ผมแนะนำให้ลองใช้ Docker ก่อนก็ได้ ง่ายดี

docker run -d -p 3000:3000 --name=grafana -v grafana-data:/var/lib/grafana grafana/grafana
แค่นี้ Grafana ก็จะรันบน Port 3000 แล้ว เข้าไปที่ http://localhost:3000 ได้เลย

ขั้นตอนปฏิบัติจริง

เราจะมาลองสร้าง Dashboard ง่ายๆ สักอันนึงกัน จะได้เห็นภาพว่ามันทำงานยังไง

Add Data Source

อย่างแรกเลยคือเราต้อง Add Data Source ก่อน ในตัวอย่างนี้ผมจะใช้ Prometheus เป็น Data Source นะ (สมมติว่าเรามี Prometheus รันอยู่แล้วนะ) เข้าไปที่ Configuration -> Data Sources แล้วเลือก Prometheus กรอก URL ของ Prometheus แล้วกด Save & Test ถ้าทุกอย่างเรียบร้อย Grafana ก็จะขึ้นข้อความว่า "Data source is working"

Create Dashboard และ Add Panel

ต่อไปก็ Create Dashboard ใหม่ ไปที่ + -> Dashboard แล้วเลือก Add new panel เราจะเจอกับ Panel Editor ที่นี่แหละที่เราจะ Query ข้อมูลและ Config หน้าตาของ Panel

ใน Panel Editor เราจะเลือก Data Source เป็น Prometheus แล้วเขียน PromQL Query เพื่อดึงข้อมูล เช่น node_cpu_seconds_total{mode="idle"} (อันนี้คือ CPU Idle Time) แล้ว Grafana ก็จะแสดงผลออกมาเป็นกราฟ

ลองปรับแต่งกราฟดู เช่น เปลี่ยนสี, เปลี่ยน Label, เพิ่ม Legend, หรืออะไรก็ตามที่เราอยากจะทำ Grafana มี Option ให้ปรับแต่งเยอะมาก ลองเล่นดูครับ

Save Dashboard

พอเราปรับแต่ง Panel จนพอใจแล้ว ก็กด Save Dashboard ตั้งชื่อ Dashboard แล้วกด Save แค่นี้เราก็มี Dashboard แรกของเราแล้ว!

Dashboard ที่เราสร้างขึ้นมานี้ เราสามารถ Share ให้คนอื่นดูได้, Export เป็น JSON File ได้, หรือจะ Import Dashboard ที่คนอื่นสร้างไว้ก็ได้ สะดวกมากๆ

เปรียบเทียบกับทางเลือกอื่น

Grafana ไม่ได้มีตัวเดียวในโลกนะ ยังมีเครื่องมือ Visualization อื่นๆ อีกเยอะแยะ แต่ละตัวก็มีข้อดีข้อเสียแตกต่างกันไป

สมัยผมทำร้านเน็ตฯ ผมเคยลองใช้หลายตัวเลย ทั้ง Zabbix, Nagios, Cacti แต่สุดท้ายก็มาจบที่ Grafana เพราะมันยืดหยุ่นที่สุด ใช้งานง่ายที่สุด และมี Community ที่แข็งแกร่งที่สุด

ลองดูตารางเปรียบเทียบเครื่องมือ Visualization ที่ผมเคยใช้มา:

เครื่องมือ ข้อดี ข้อเสีย ความยากในการใช้งาน
Grafana ยืดหยุ่น, ใช้งานง่าย, Community ใหญ่ ต้อง Config เองเยอะ ปานกลาง
Zabbix ครบวงจร, มี Agent ให้ติดตั้งง่าย Interface ซับซ้อน, Config ยาก ยาก
Nagios เก่าแก่, Plugin เยอะ Config ยากมาก, หน้าตาโบราณ ยากมาก
Cacti เน้น Network Monitoring Feature น้อย, หน้าตาไม่สวย ปานกลาง

จะเห็นว่าแต่ละตัวก็มีข้อดีข้อเสียแตกต่างกันไป เลือกใช้ตัวที่เหมาะกับความต้องการของเราที่สุดครับ

สุดท้ายนี้ ผมหวังว่า Guide นี้จะเป็นประโยชน์กับน้องๆ นะครับ ลองเอาไปปรับใช้กับงานของตัวเองดู แล้วจะรู้ว่า Grafana เนี่ยมันเจ๋งจริงๆ ถ้ามีคำถามอะไรก็มาถามกันได้ใน SiamCafe Blog นะครับ

อย่าลืมติดตาม SiamCafe Blog เพื่ออ่านบทความ IT ดีๆ อีกนะครับ! แล้วเจอกันใหม่ครับ!

Best Practices / เคล็ดลับจากประสบการณ์

ทำ Grafana Dashboard มาก็เยอะ เจอปัญหามาก็แยะ สมัยผมทำร้านเน็ตนี่ โอ้โห! สารพัดปัญหาจริงๆ Dashboard ก็เหมือนกัน ถ้าออกแบบไม่ดี ชีวิตวุ่นวายแน่นอน

ผมเลยอยากจะมาแชร์เคล็ดลับที่ผมใช้ประจำ จะได้ไม่ต้องเสียเวลาลองผิดลองถูกเยอะ

3-4 เทคนิคที่ใช้ได้จริง

  1. คิดก่อนทำ: ก่อนจะเริ่มสร้าง Dashboard ถามตัวเองก่อนเลยว่า "เราอยากรู้อะไร?" อย่าทำ Dashboard ที่มีแต่ข้อมูลเยอะแยะ แต่ดูแล้วไม่รู้เรื่อง สมัยก่อนผมเคยเจอ ทำ Dashboard ซะอลังการ แต่สุดท้ายไม่มีใครดู เพราะมันไม่ตอบโจทย์
  2. เลือก Visualization ให้เหมาะสม: ไม่ใช่ว่าข้อมูลทุกอย่างจะเหมาะกับกราฟเส้น บางที Bar chart หรือ Gauge จะสื่อความหมายได้ดีกว่า ลองผิดลองถูกดูครับ แต่ละ Visualization มันมีจุดเด่นของมัน อย่างตอนเช็คร้านเกมส์ ผมชอบใช้ Gauge ดู CPU Load ของแต่ละเครื่อง มันเห็นภาพชัดเจนดี
  3. ใช้ Template Variables: อันนี้สำคัญมาก ถ้าข้อมูลเรามีหลายมิติ เช่น มี Server หลายตัว, Application หลายตัว เราควรใช้ Template Variables ทำให้ Dashboard เรา Flexible มากขึ้น ไม่ต้องสร้าง Dashboard ซ้ำๆ กันหลายอัน สมัยก่อนผมทำ Dashboard Server Monitoring ผมใช้ Template Variables เลือก Server ที่ต้องการดูได้เลย สะดวกมากๆ
  4. Keep it Simple: อย่าใส่ข้อมูลเยอะเกินไปใน Dashboard เดียว คนดูจะงง เลือกเฉพาะข้อมูลที่สำคัญจริงๆ เน้นให้เห็นภาพรวมได้ง่ายๆ พวกรายละเอียดค่อยเจาะลึกเข้าไปดูใน Query เองได้ ผมเคยเจอ Dashboard ที่มีแต่กราฟเต็มไปหมด สุดท้ายคนดูก็เบื่อ เพราะมันรกเกินไป

FAQ คำถามที่พบบ่อย

ทำไม Grafana Dashboard ของผมโหลดช้ามาก?

อันนี้เจอบ่อย สาเหตุหลักๆ คือ Query ที่เราใช้มันซับซ้อนเกินไป หรือดึงข้อมูลเยอะเกินไป ลอง Optimize Query ดูครับ หรือลองใช้ Cache ช่วยดู อาจจะช่วยได้เยอะเลย สมัยก่อนผมเคยแก้ปัญหานี้ด้วยการทำ Summary Table ใน Database แล้วให้ Grafana ไปดึงข้อมูลจาก Summary Table แทน ดึงข้อมูลน้อยลง โหลดเร็วขึ้นเยอะ

Grafana alert ทำงานยังไง?

Grafana alert คือการตั้งเงื่อนไขให้ Grafana แจ้งเตือนเมื่อข้อมูลผิดปกติ เช่น CPU Load เกิน 80% เราสามารถตั้งค่าให้ Grafana ส่ง Email หรือแจ้งเตือนผ่าน Slack ได้ ตอนทำร้านเน็ต ผมใช้ Grafana alert แจ้งเตือนเมื่อ Server ล่ม หรือ Internet หลุด มันช่วยให้ผมแก้ปัญหาได้ทันที

ผมควรใช้ Datasource อะไรดี?

Datasource ที่ Grafana รองรับมีเยอะมาก เลือก Datasource ที่เหมาะสมกับข้อมูลที่เรามี ถ้าข้อมูลเราอยู่ใน Database ก็ใช้ Datasource ที่เป็น Database ถ้าข้อมูลอยู่ใน Metric Server ก็ใช้ Datasource ที่เป็น Metric Server ลองศึกษาดูครับว่า Datasource แต่ละตัวมันมีข้อดีข้อเสียยังไง

ถ้าอยากรู้เรื่อง Forex เพิ่มเติม ลองดู iCafeForex ได้นะครับ

สรุป

Grafana Dashboard เป็นเครื่องมือที่มีประโยชน์มาก ถ้าเราใช้เป็น มันจะช่วยให้เรา Monitor ระบบต่างๆ ได้อย่างมีประสิทธิภาพ หวังว่าเคล็ดลับที่ผมแชร์ไป จะเป็นประโยชน์กับทุกคนนะครับ ลองเอาไปปรับใช้กันดู

อย่าลืมเข้าไปอ่านบทความอื่นๆ ใน SiamCafe Blog ด้วยนะครับ มีเรื่อง IT อีกเยอะแยะเลย