Monitoring Prometheus Grafana Stack Hardware

Monitoring Prometheus Grafana Stack

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

Monitoring Prometheus Grafana Stack คืออะไร / ทำไมถึงสำคัญ

น้องๆ เคยเจอปัญหา Server แฮงค์ตอนตี 3 มั้ย? สมัยผมทำร้านเน็ตนี่เจอประจำเลยนะ! ลูกค้าโวยวาย เล่นเกมไม่ได้ เสียรายได้ไปอีก เพิ่งรู้ตอนนั้นแหละว่าการ Monitoring ระบบสำคัญขนาดไหน

Prometheus กับ Grafana เนี่ยแหละ คือพระเอกขี่ม้าขาวที่จะมาช่วยเราแก้ปัญหาพวกนี้ Prometheus จะคอยเก็บข้อมูล (metrics) ต่างๆ ของระบบเรา ไม่ว่าจะเป็น CPU Usage, Memory, Disk I/O, Network Traffic ส่วน Grafana ก็จะเอาข้อมูลที่ Prometheus เก็บไว้มาแสดงผลเป็นกราฟสวยๆ ให้เราดูง่ายๆ

พูดง่ายๆ คือ Prometheus เป็นคนเก็บข้อมูล ส่วน Grafana เป็นคนเอาข้อมูลมาโชว์นั่นเอง แล้วทำไมมันถึงสำคัญน่ะเหรอ? ก็เพราะว่ามันช่วยให้เราเห็นภาพรวมของระบบ เข้าใจปัญหาที่เกิดขึ้น และแก้ไขได้ทันท่วงทีไงล่ะ ถ้าไม่มี Monitoring ก็เหมือนขับรถโดยไม่ดูไมล์วัดความเร็ว จะรู้ได้ไงว่ากำลังจะเครื่องพัง!

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

Prometheus คืออะไร

Prometheus เป็นระบบ Monitoring แบบ Open Source ที่เน้นการเก็บข้อมูลแบบ Time Series Data พูดง่ายๆ คือเก็บข้อมูลพร้อม Timestamp นั่นเอง สมัยก่อนผมใช้ MRTG แต่ Prometheus นี่มัน Advance กว่าเยอะเลยนะ

มันจะไปดึงข้อมูล (Scrape) จากเป้าหมาย (Target) ที่เรากำหนด เช่น Server, Application, Database แล้วเอามาเก็บไว้ในฐานข้อมูลของมันเอง

Grafana คืออะไร

Grafana เป็นเครื่องมือ Visualization ที่เอาข้อมูลจากแหล่งต่างๆ มาแสดงผลเป็น Dashboard สวยๆ เราสามารถสร้างกราฟ, Gauge, Table หรืออะไรก็ได้ที่เราต้องการ

Grafana รองรับ DataSource หลายชนิด ไม่ว่าจะเป็น Prometheus, InfluxDB, Graphite, Elasticsearch ดังนั้นเราสามารถเอาข้อมูลจากแหล่งต่างๆ มารวมกันใน Dashboard เดียวได้เลย เจ๋งป่ะล่ะ?

Metrics คืออะไร

Metrics คือข้อมูลที่เราต้องการ Monitor เช่น CPU Usage, Memory Usage, Disk I/O, Network Traffic แต่ละ Metrics จะมี Type ที่แตกต่างกัน เช่น Counter, Gauge, Histogram, Summary ซึ่งแต่ละ Type ก็มีวิธีการใช้งานที่แตกต่างกันไป

สมัยผมเริ่มทำร้านเน็ตใหม่ๆ ไม่ค่อยเข้าใจเรื่องพวกนี้เท่าไหร่ ก็ลองผิดลองถูกไปเรื่อยๆ จนเริ่มเข้าใจหลักการทำงานของมันจริงๆ

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

การเริ่มต้นใช้งาน Prometheus กับ Grafana ไม่ยากอย่างที่คิดนะ แค่มี Docker ก็แทบจะเสร็จแล้ว สมัยผมต้องลง Linux เอง Config เอง ปวดหัวสุดๆ เดี๋ยวนี้สบายกว่าเยอะ

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

ติดตั้ง Prometheus และ Grafana ด้วย Docker

สร้างไฟล์ docker-compose.yml แล้วใส่ Code นี้ลงไป:


version: "3.9"
services:
  prometheus:
    image: prom/prometheus:latest
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    depends_on:
      - prometheus

สร้างไฟล์ prometheus.yml แล้วใส่ Config นี้ลงไป:


global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

จากนั้นรันคำสั่ง docker-compose up -d แค่นี้ Prometheus กับ Grafana ก็พร้อมใช้งานแล้ว

Config Prometheus ให้ Monitor ระบบ

เราต้อง Config Prometheus ให้รู้ว่าจะไปดึงข้อมูลจากที่ไหนบ้าง ซึ่งเราจะทำผ่านไฟล์ prometheus.yml นั่นแหละ

ตัวอย่างเช่น ถ้าเราต้องการ Monitor Node Exporter (เครื่องมือที่เอาไว้เก็บข้อมูลของ Server) เราก็ต้องเพิ่ม Target เข้าไปใน prometheus.yml แบบนี้:


  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

อย่าลืมติดตั้ง Node Exporter บน Server ของเราด้วยนะ

สร้าง Dashboard ใน Grafana

หลังจากที่ Prometheus เก็บข้อมูลได้แล้ว เราก็มาสร้าง Dashboard ใน Grafana กัน เริ่มจาก Login เข้า Grafana ผ่าน Browser (http://localhost:3000) แล้ว Add Prometheus เป็น DataSource

จากนั้นก็สร้าง Dashboard ใหม่ แล้ว Add Panel เข้าไป เลือก DataSource เป็น Prometheus แล้วเขียน Query เพื่อดึงข้อมูลที่เราต้องการมาแสดงผล

Query ที่ใช้ใน Prometheus จะเป็นภาษา PromQL ซึ่งต้องศึกษาเพิ่มเติมหน่อย แต่ไม่ต้องกังวล SiamCafe Blog เรามีบทความสอน PromQL ด้วยนะ!

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

นอกจาก Prometheus กับ Grafana แล้ว ยังมีเครื่องมือ Monitoring อื่นๆ อีกมากมาย เช่น Nagios, Zabbix, Datadog แต่ละตัวก็มีข้อดีข้อเสียแตกต่างกันไป

Nagios กับ Zabbix นี่เก่าแก่พอๆ กับร้านเน็ตผมเลย สมัยก่อนฮิตมาก แต่ Config ยาก Maintenance ก็ลำบาก Datadog นี่ใช้ง่ายดี แต่ราคาค่อนข้างสูง

Prometheus กับ Grafana เป็น Open Source ใช้งานฟรี แถมยัง Flexible ปรับแต่งได้เยอะ เหมาะกับคนที่ชอบ DIY แต่ก็ต้องศึกษาพอสมควรนะ SiamCafe Blog มีบทความเปรียบเทียบเครื่องมือ Monitoring ด้วย ลองไปอ่านดูนะ

เครื่องมือ ข้อดี ข้อเสีย
Prometheus + Grafana Open Source, Flexible, ปรับแต่งได้เยอะ ต้องศึกษา PromQL, Config ค่อนข้างซับซ้อน
Nagios เก่าแก่, มี Plugin เยอะ Config ยาก, UI ไม่สวย
Zabbix ครบเครื่อง, รองรับ Agent หลาย Platform Config ยาก, กิน Resource เยอะ
Datadog ใช้งานง่าย, มี Feature ครบ ราคาแพง

Hardware ที่ใช่ ชีวิตก็เปลี่ยน

สมัยผมทำร้านเน็ต SiamCafe ช่วงแรกๆ เรื่อง Hardware นี่ปวดหัวสุดๆ เพราะเราต้องเลือกของที่ทนทาน ราคาไม่แรง และประสิทธิภาพต้องดีพอที่จะรันเกมออนไลน์ยอดฮิตในยุคนั้นได้

ถ้า Hardware ไม่ดี นอกจากจะทำให้ลูกค้าเล่นเกมกระตุกแล้ว ยังทำให้เราต้องเสียเวลาซ่อมบำรุงบ่อยๆ อีกด้วย เสียทั้งเงิน เสียทั้งเวลา

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

หลังจากลองผิดลองถูกมาเยอะ ผมก็สรุป Best Practices ในการเลือก Hardware สำหรับ Monitoring Prometheus Grafana Stack ได้ดังนี้

จำไว้เลยว่า "ถูกและดี" ไม่มีอยู่จริง ต้องบาลานซ์ระหว่างราคาและความทนทาน

เลือก CPU ให้เหมาะสมกับ Load

CPU คือหัวใจหลักของการประมวลผลข้อมูล ถ้า CPU แรงไม่พอ Grafana ก็จะแสดงผลช้า ทำให้เราพลาดข้อมูลสำคัญได้

สมัยก่อนผมใช้ CPU Intel Celeron ก็ว่าแรงแล้วนะ แต่พอ Grafana เริ่มซับซ้อนขึ้น ก็ต้องอัพเกรดเป็น Core i3, i5 ถึงจะเอาอยู่

ถ้า Monitoring แค่ Server ไม่กี่ตัว CPU ระดับกลางๆ ก็พอ แต่ถ้าต้อง Monitoring เป็นร้อยๆ Server ต้อง CPU ระดับ Server Grade เท่านั้น

RAM สำคัญกว่าที่คิด

RAM คือหน่วยความจำชั่วคราวที่ใช้ในการประมวลผลข้อมูล ถ้า RAM น้อยเกินไป Grafana ก็จะ Swap ข้อมูลลง Harddisk ทำให้ช้าลงอย่างเห็นได้ชัด

ผมเคยเจอเคสที่ลูกค้าบ่นว่า Grafana ช้ามาก พอเข้าไปดู RAM เหลือแค่ 1 GB แทบจะร้องไห้

ขั้นต่ำควรมี RAM 8 GB แต่ถ้า Monitoring Server เยอะๆ หรือใช้ Dashboard ที่ซับซ้อน ควรมี 16 GB ขึ้นไป

Storage ต้องเร็ว แรง ทน

Prometheus จะเก็บข้อมูล Time Series ไว้ใน Storage ดังนั้น Storage ต้องเร็ว แรง และทนทาน

สมัยก่อนใช้ Harddisk จานหมุนธรรมดา ก็พอใช้ได้ แต่พอเปลี่ยนมาใช้ SSD ชีวิตดีขึ้นเยอะ Grafana ตอบสนองเร็วขึ้นอย่างเห็นได้ชัด

ถ้ามีงบประมาณ ควรใช้ NVMe SSD เพราะเร็วกว่า SATA SSD หลายเท่า

อย่าลืมทำ RAID เพื่อป้องกันข้อมูลสูญหายด้วยนะ

Network Card ต้อง Gigabit

Network Card คือช่องทางที่ใช้รับส่งข้อมูลระหว่าง Server กับ Grafana ถ้า Network Card ช้า ก็จะทำให้ Grafana แสดงผลช้าตามไปด้วย

สมัยนี้ Network Card Gigabit เป็นมาตรฐานแล้ว แต่ก็ควรตรวจสอบให้แน่ใจว่า Network Card รองรับความเร็ว Gigabit จริงๆ

ถ้า Monitoring Server ที่อยู่คนละ Network ควรตรวจสอบ Bandwidth ของ Network ด้วย

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

Hardware Spec ขั้นต่ำสำหรับ Monitoring Server กี่ตัว?

Spec ขั้นต่ำสำหรับ Monitoring Server ไม่เกิน 10 ตัว:

ควรใช้ Cloud Server หรือ Hardware Server ดี?

Cloud Server เหมาะสำหรับคนที่ต้องการความยืดหยุ่นและ Scalability แต่ Hardware Server เหมาะสำหรับคนที่ต้องการความปลอดภัยและควบคุม Hardware ได้อย่างเต็มที่

ถ้าเริ่มต้น แนะนำให้ใช้ Cloud Server ก่อน แล้วค่อยย้ายไป Hardware Server เมื่อต้องการ Scalability ที่สูงขึ้น

ควรเลือก Linux Distro อะไรดี?

Linux Distro ที่นิยมใช้กันในการ Monitoring คือ Ubuntu, CentOS, และ Debian

ผมแนะนำให้เลือก Linux Distro ที่คุ้นเคย เพราะจะทำให้การติดตั้งและ Config ง่ายขึ้น

สมัยผมทำร้านเน็ต ใช้แต่ CentOS เพราะมันเสถียรดี

สรุป

การเลือก Hardware ที่เหมาะสมสำหรับ Monitoring Prometheus Grafana Stack เป็นเรื่องสำคัญที่ไม่ควรมองข้าม

ควรพิจารณา Load ของระบบ, งบประมาณ, และความต้องการในการ Scalability ก่อนตัดสินใจเลือก Hardware

อย่าลืม Backup ข้อมูลเป็นประจำ เพื่อป้องกันข้อมูลสูญหาย

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