
ที่มาภาพ: Unknown Source
วิธีตั้งค่าและใช้งาน Grafana กับ Prometheus บน Raspberry Pi เพื่อมอนิเตอร์ระบบแบบเรียลไทม์
⚡ สรุป 30 วิ
การมอนิเตอร์ระบบแบบเรียลไทม์บน Raspberry Pi ไม่ต้องอาศัยเครื่องแม่ข่ายราคาแพง เพียงติดตั้ง **Prometheus** เป็นตัวเก็บเมตริกและ **Grafana** แสดงผลก็เพียงพอ บทความนี้จะสอนขั้นตอนตั้งค่า ตั้งค่าขั้นพื้นฐ…
ภาพรวม — Overview
การมอนิเตอร์ระบบแบบเรียลไทม์บน Raspberry Pi ไม่ต้องอาศัยเครื่องแม่ข่ายราคาแพง เพียงติดตั้ง Prometheus เป็นตัวเก็บเมตริกและ Grafana แสดงผลก็เพียงพอ บทความนี้จะสอนขั้นตอนตั้งค่า ตั้งค่าขั้นพื้นฐาน รวมถึงเคล็ดลับทำให้ระบบทำงานได้เสถียรบนบอร์ดขนาดเล็ก
- ทำความเข้าใจแนวคิดของ Prometheus & Grafana
- เตรียม Raspberry Pi พร้อม OS และการเชื่อมต่อเครือข่าย
- ติดตั้งและกำหนดค่า Prometheus, Grafana อย่างละเอียด
- สร้าง Dashboard แสดงข้อมูลระบบแบบเรียลไทม์
ความต้องการเบื้องต้น — Prerequisites
เพื่อให้ขั้นตอนต่อไปทำได้โดยไม่มีอุปสรรค ควรตรวจสอบสิ่งต่อไปนี้ก่อนเริ่ม
- Raspberry Pi รุ่น 3B+ ขึ้นไป (CPU ≥ 1.2 GHz, RAM ≥ 1 GB)
- ระบบปฏิบัติการ Raspberry OS Lite เวอร์ชันล่าสุด
- การเชื่อมต่ออินเทอร์เน็ตผ่าน Ethernet หรือ Wi‑Fi
- สิทธิ์ `sudo` บนเครื่อง
**Tip: หากใช้ Pi Zero W ควรเพิ่ม heatsink และตั้งค่า swap ให้สูงกว่า 512 MB เพื่อรองรับโหลดของ Prometheus
เตรียมระบบปฏิบัติการ — Setup OS
ขั้นตอนนี้ทำแค่หนึ่งครั้งต่ออุปกรณ์ เพียงติดตั้งและอัพเดตแพคเกจพื้นฐาน
- อัปเดต repository ด้วย `sudo apt update && sudo apt upgrade -y`
- ติดตั้งเครื่องมือพื้นฐาน `curl`, `wget`, `git` ผ่าน `sudo apt install -y curl wget git`
- ปรับตั้งค่า timezone ให้ตรงกับโซนของคุณ (`sudo timedatectl set-timezone Asia/Bangkok`)
การติดตั้ง Prometheus — Install Prometheus
Prometheus มีเวอร์ชันสำหรับ ARM64 ที่พร้อมทำงานบน Pi
- ดาวน์โหลดไฟล์ binary ล่าสุดจากหน้า releases ของ Prometheus (ใช้ `wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-arm64.tar.gz`)
- แตกไฟล์และย้ายโฟลเดอร์ไปที่ `/opt/prometheus` (`sudo tar -xzf prometheus-*.tar.gz -C /opt && sudo mv /opt/prometheus-* /opt/prometheus`)
- สร้าง user `prometheus` โดยไม่มี login (`sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus`)
- ปรับสิทธิ์โฟลเดอร์ให้เป็นของผู้ใช้ใหม่ (`sudo chown -R prometheus:prometheus /opt/prometheus`)
ตั้งค่า Prometheus — Configure Prometheus
- สร้างไฟล์ `prometheus.yml` ใน `/etc/prometheus/` ด้วยการคัดลอกจาก `/opt/prometheus/prometheus.yml`
- แก้ไขส่วน `scrape_configs` ให้รวบรวมเมตริกของระบบ Pi (`job_name: 'node'`, `static_configs: [{targets: ['localhost:9100']}]`)
**Warning: อย่าลืมเปิดพอร์ต 9090 ในไฟร์วอลล์ (`sudo ufw allow 9090`) เพื่อให้ Grafana เข้าถึงได้
- สร้าง systemd service สำหรับ Prometheus
```ini [Unit] Description=Prometheus Monitoring Wants=network-online.target After=network-online.target
[Service] User=prometheus Group=prometheus ExecStart=/opt/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus Restart=always
[Install] WantedBy=multi-user.target ```
- เปิดใช้งานและตรวจสอบสถานะ (`sudo systemctl daemon-reload && sudo systemctl enable prometheus && sudo systemctl start prometheus`)
การติดตั้ง Grafana — Install Grafana
Grafana มีเวอร์ชัน ARM64 ที่จัดทำไว้ใน repository อย่างเป็นทางการ
- เพิ่ม GPG key และ repo ของ Grafana (`wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - && echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list`)
- ติดตั้งด้วย `sudo apt update && sudo apt install -y grafana`
- สร้าง user `grafana` หากยังไม่มี (Grafana สร้างอัตโนมัติเมื่อติดตั้ง)
ตั้งค่า Grafana — Configure Grafana
- เปิดใช้งานและเริ่มบริการ (`sudo systemctl enable grafana-server && sudo systemctl start grafana-server`)
- ตรวจสอบว่า port 3000 พร้อมให้เชื่อมต่อ (`sudo ufw allow 3000`)
เชื่อมต่อ Prometheus เป็น Data Source — Add Data Source
ทำตามขั้นตอนใน UI ของ Grafana เพื่อดึงข้อมูลจาก Prometheus
- เข้าสู่ Grafana ผ่าน `http://<Pi_IP>:3000` (default user/pass: admin / admin)
- ไปที่ *Configuration Data Sources* แล้วเลือก Prometheus
- กำหนด URL เป็น `http://localhost:9090` และกด Save & Test
**Tip: หากต้องการเข้าถึงจากอุปกรณ์อื่น ให้ตั้งค่า URL เป็น IP ของ Pi แทน `localhost`
สร้าง Dashboard แสดงข้อมูลระบบ — Build Dashboard
Dashboard พื้นฐานสำหรับมอนิเตอร์ Raspberry Pi มีเมตริกสำคัญหลายอย่าง
- คลิก *Create Dashboard* แล้วเพิ่ม Panel ใหม่
- เลือก query เช่น `node_cpu_seconds_total{mode="idle"}` เพื่อดูการใช้ CPU
- ปรับรูปแบบกราฟเป็น Time series และตั้งช่วงเวลาให้แสดงล่าสุด 5 นาที
ตัวอย่าง Panel ที่ควรมี
- CPU usage – แสดงเปอร์เซ็นต์การใช้งานของแต่ละ core
- Memory utilization – `node_memory_Active_bytes / node_memory_MemTotal_bytes * 100`
- Disk I/O – อ่าน/เขียนไบท์ต่อวินาทีจาก `node_disk_read_bytes_total` และ `node_disk_written_bytes_total`
- Network traffic – แสดงอัตราการส่งรับผ่าน `node_network_receive_bytes_total` / `node_network_transmit_bytes_total`
ปรับประสิทธิภาพบน Raspberry Pi — Performance Tuning
Prometheus เก็บข้อมูลเป็น time‑series จึงต้องจัดการกับพื้นที่เก็บและความถี่ของ scrape
- ลด `scrape_interval` จากค่า default 15 s เป็น 30 s หรือ 60 s (`global: { scrape_interval: 30s }`) เพื่อลดโหลด CPU
- ตั้งค่าการ retention ให้เหมาะกับขนาด SD Card (เช่น `--storage.tsdb.retention.time=7d`)
- เปิดใช้งาน compression ของ TSDB ผ่าน flag `--storage.tsdb.no-lockfile` เพื่อประหยัด I/O
| รุ่น Pi | CPU (GHz) | RAM | คำแนะนำการตั้งค่า |
|---|---|---|---|
| 3B+ | 1.4 | 1 GB | scrape_interval = 30s, retention = 5d |
| 4 (2 GB) | 1.8 | 2 GB | scrape_interval = 15s, retention = 7d |
| 4 (8 GB) | 1.8 | 8 GB | scrape_interval = 10s, retention = 14d |
**Warning: อย่าใช้ SD Card คุณภาพต่ำ (< Class 10) เนื่องจากการเขียนบ่อยอาจทำให้เสียเร็ว
เคล็ดลับและข้อควรระวัง — Tips & Gotchas
- ใช้ Heatsink + พัดลม หากตั้งค่า scrape interval สั้นมาก ระบบจะร้อนขึ้น
- ตรวจสอบ log ของ Prometheus (`journalctl -u prometheus`) และ Grafana (`journalctl -u grafana-server`) อย่างสม่ำเสมอเพื่อหา error
- ควรสำรองไฟล์ `prometheus.yml` และฐานข้อมูล TSDB ทุกสัปดาห์โดยใช้ `rsync` ไปยัง NAS หรือ Cloud
สรุป — Summary
การติดตั้ง Grafana + Prometheus บน Raspberry Pi ให้คุณมอนิเตอร์ระบบแบบเรียลไทม์ได้อย่างคุ้มค่าและยืดหยุ่น เพียงทำตามขั้นตอนพื้นฐานแล้วปรับจูนตามสเปคของบอร์ด
- เตรียม OS, ติดตั้ง Prometheus & Grafana ด้วย binary/apt
- ตั้งค่าการ scrape, retention และเปิดพอร์ตที่จำเป็น
- เชื่อมต่อ Data Source ใน Grafana แล้วสร้าง Dashboard สำคัญ
- ปรับค่า `scrape_interval` และใช้ฮาร์ดแวร์ระบายความร้อนเพื่อความเสถียร
เมื่อทำครบตามนี้ ระบบ Raspberry Pi ของคุณจะพร้อมให้ข้อมูลเชิงลึกแบบเรียลไทม์ทุกเวลาที่ต้องการ.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่าและใช้งาน Grafana กับ Prometheus บน Raspberry Pi เพื่อมอนิเตอร์ระบบแบบเรียลไทม์
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 7 กรกฎาคม 2569 เวลา 17:51
- URL ต้นฉบับ
- https://thaitech.news/articles/growth-850064



