วิธีตั้งค่าและใช้งาน Grafana กับ Prometheus บน Raspberry Pi เพื่อมอนิเตอร์ระบบแบบเรียลไทม์

ที่มาภาพ: 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
รุ่น PiCPU (GHz)RAMคำแนะนำการตั้งค่า
3B+1.41 GBscrape_interval = 30s, retention = 5d
4 (2 GB)1.82 GBscrape_interval = 15s, retention = 7d
4 (8 GB)1.88 GBscrape_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

Related

บทความที่เกี่ยวข้อง

วิธีติดตั้งและใช้งาน OpenAI Whisper บนเครื่อง PC เพื่อแปลงเสียงพูดเป็นข้อความแบบออฟไลน์Growth
7 กรกฎาคม 2569 เวลา 11:30

วิธีติดตั้งและใช้งาน OpenAI Whisper บนเครื่อง PC เพื่อแปลงเสียงพูดเป็นข้อความแบบออฟไลน์

OpenAI Whisper เป็นโมเดลแปลงเสียงพูดเป็นข้อความ (speech‑to‑text) ที่ให้ผลแม่นยำสูงและทำงานแบบออฟไลน์ได้บน PC ของคุณ ไม่ต้องพึ่งบริการคลาวด์ ลดความกังวลเรื่องข้อมูลส่วนบุคคลและการเชื่อมต่ออินเทอร์เน็ต…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ8 นาที
วิธีตั้งค่าและใช้งาน Zero‑Trust Network Access (ZTNA) ด้วย Cloudflare Teams สำหรับการเชื่อมต่อระยะไกลอย่างปลอดภัยGrowth
6 กรกฎาคม 2569 เวลา 20:30

วิธีตั้งค่าและใช้งาน Zero‑Trust Network Access (ZTNA) ด้วย Cloudflare Teams สำหรับการเชื่อมต่อระยะไกลอย่างปลอดภัย

Zero‑Trust Network Access (ZTNA) เป็นแนวคิดที่ให้การเข้าถึงทรัพยากรไอทีโดยพิจารณาความเชื่อถือจากตัวผู้ใช้และอุปกรณ์ ไม่ใช่ตำแหน่งทางกายภาพ การนำ ZTNA มาผสานกับ **Cloudflare Teams** จะทำให้การเชื่อมต่อ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ5 นาที
วิธีตั้งค่าและใช้งาน Syncthing เพื่อซิงค์ไฟล์ข้ามอุปกรณ์แบบปลอดภัยบนทุกระบบปฏิบัติการGrowth
6 กรกฎาคม 2569 เวลา 19:00

วิธีตั้งค่าและใช้งาน Syncthing เพื่อซิงค์ไฟล์ข้ามอุปกรณ์แบบปลอดภัยบนทุกระบบปฏิบัติการ

Syncthing เป็นซอฟต์แวร์โอเพ่นซอร์สที่ทำหน้าที่เป็นระบบไฟล์‑ซิงค์แบบ peer‑to‑peer (P2P) โดยไม่ต้องพึ่งเซิร์ฟเวอร์กลาง ทุกอุปกรณ์จะเชื่อมต่อโดยตรงและส่งข้อมูลผ่านการเข้ารหัสระดับ TLS 1.3 ทำให้ข้อมูลของค…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
วิธีติดตั้งและใช้งาน Ollama บน Windows เพื่อรันโมเดล LLM ภายในเครื่องGrowth
6 กรกฎาคม 2569 เวลา 11:30

วิธีติดตั้งและใช้งาน Ollama บน Windows เพื่อรันโมเดล LLM ภายในเครื่อง

Ollama เป็นแพลตฟอร์มเปิด‑source ที่ช่วยให้คุณรันโมเดล LLM (Large Language Model) บนเครื่อง Windows ได้โดยไม่ต้องพึ่งคลาวด์ การติดตั้งและใช้งานง่าย เหมาะกับนักพัฒนาและผู้ที่อยากทดลอง AI ภายในองค์กรหรือ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ10 นาที
คัดลอกลิงก์แล้ว!