วิธีติดตั้งและกำหนดค่า Grafana บน Raspberry Pi เพื่อติดตามระบบ IoT อย่างปลอดภัย

ที่มาภาพ: Unknown Source

วิธีติดตั้งและกำหนดค่า Grafana บน Raspberry Pi เพื่อติดตามระบบ IoT อย่างปลอดภัย

⚡ สรุป 30 วิ

Grafana เป็นเครื่องมือแสดงผลข้อมูลแบบกราฟิกที่นิยมใช้ร่วมกับระบบ IoT เพื่อให้ผู้ดูแลมองเห็นสถานะของอุปกรณ์ได้อย่างชัดเจน การติดตั้งบน Raspberry Pi ทำให้คุณสามารถสร้างศูนย์ตรวจสอบขนาดเล็กในเครือข่ายของ…

Grafana เป็นเครื่องมือแสดงผลข้อมูลแบบกราฟิกที่นิยมใช้ร่วมกับระบบ IoT เพื่อให้ผู้ดูแลมองเห็นสถานะของอุปกรณ์ได้อย่างชัดเจน การติดตั้งบน Raspberry Pi ทำให้คุณสามารถสร้างศูนย์ตรวจสอบขนาดเล็กในเครือข่ายของตนเองได้โดยไม่ต้องพึ่งเซิร์ฟเวอร์คลาวด์ — ทั้งปลอดภัยและประหยัดค่าใช้จ่าย

ต่อไปนี้เป็นขั้นตอนครบวงจร ตั้งแต่เตรียมอุปกรณ์จนถึงการกำหนดค่าความปลอดภัยเพื่อให้ Grafana ทำงานได้อย่างมั่นคงบน Raspberry Pi ของคุณ

ทำความเข้าใจ Grafana & Raspberry Pi — Overview

Grafana เป็นแพลตฟอร์มโอเพนซอร์สสำหรับการสร้าง Dashboard ที่ดึงข้อมูลจากแหล่งต่าง ๆ เช่น InfluxDB, Prometheus หรือ MQTT โดยอาศัยเว็บอินเทอร์เฟซแบบเรียลไทม์

Raspberry Pi ทำหน้าที่เป็นคอมพิวเตอร์ขนาดเล็กที่ใช้ระบบปฏิบัติการ Linux จึงเหมาะสำหรับรัน Grafana ในรูปแบบ Docker หรือ binary ตรง ๆ

  • ประหยัดพลังงาน – ใช้ไฟต่ำกว่า 5 W
  • ยืดหยุ่น – รองรับหลายสถาปัตยกรรม (ARM, ARM64)
**Tip: เลือกรุ่น Raspberry Pi 4 ขนาด RAM อย่างน้อย 2 GB เพื่อให้กราฟและคิวรีทำงานได้ราบรื่น

เตรียมอุปกรณ์และระบบพื้นฐาน — Prerequisites

ก่อนเริ่มติดตั้ง ควรตรวจสอบว่า Pi ของคุณพร้อมใช้งานแล้ว

  • Raspberry Pi (แนะนำรุ่น 4) พร้อม SD Card ขนาด ≥16 GB
  • ระบบปฏิบัติการ Raspberry Pi OS Lite (ไม่มี GUI) เวอร์ชันล่าสุด
  • การเชื่อมต่ออินเทอร์เน็ตผ่าน Ethernet หรือ Wi‑Fi
  • สิทธิ์ผู้ดูแล (`sudo`) บนเครื่อง

ตรวจสอบเวอร์ชันของระบบด้วยคำสั่ง `uname -m` และอัปเดตแพ็กเกจทั้งหมดก่อนทำขั้นตอนต่อไป

ติดตั้ง Docker (แนะนำ) — Install Docker

Docker ทำให้การจัดการ Grafana ง่ายกว่า เนื่องจากสามารถอัปเดตและสำรองข้อมูลได้ด้วยคำสั่งเดียว

  • **ขั้นตอน 1: รันสคริปต์ติดตั้งอย่างเป็นทางการ

```bash curl -fsSL https://get.docker.com | sh ```

  • **ขั้นตอน 2: เพิ่มผู้ใช้ `pi` เข้าไปในกลุ่ม docker เพื่อเรียกใช้งานโดยไม่ต้อง sudo

```bash sudo usermod -aG docker pi ```

  • **ขั้นตอน 3: รีบูต Pi เพื่อนำการเปลี่ยนแปลงไปใช้

```bash sudo reboot ```

**Warning: อย่าเรียก Docker ด้วย `sudo` หลังจากเพิ่มผู้ใช้เข้า group แล้ว เพราะอาจทำให้ไฟล์ config เกิด permission error

ตรวจสอบสถานะ Docker ด้วย `docker version` เพื่อยืนยันว่าติดตั้งสำเร็จ

ลง Grafana บน Raspberry Pi — Install Grafana

เมื่อ Docker พร้อมแล้ว ให้ดึง image ของ Grafana ที่รองรับ ARM64

  • **ขั้นตอน 1: ดึง image ล่าสุดจาก Docker Hub

```bash docker pull grafana/grafana:latest ```

  • **ขั้นตอน 2: สร้างโฟลเดอร์เก็บข้อมูลถาวรบน Pi (เพื่อให้ Dashboard ไม่หายเมื่อ container รีสตาร์ท)

```bash mkdir -p ~/grafana/data ```

  • **ขั้นตอน 3: เรียกใช้งาน Grafana ด้วยพอร์ตที่ต้องการ (โดยค่าเริ่มต้นคือ 3000)

```bash docker run -d \ --name=grafana \ -p 3000:3000 \ -v ~/grafana/data:/var/lib/grafana \ grafana/grafana:latest ```

หลังจาก container รันแล้ว ให้เปิดเบราว์เซอร์ที่ `http://<Pi_IP>:3000` เพื่อตรวจสอบว่า Grafana แสดงหน้าล็อกอิน

ตั้งค่า Grafana เพื่อความปลอดภัย — Secure Configuration

การเปิด Dashboard สู่เครือข่ายโดยตรงอาจทำให้ข้อมูลถูกโจมตีได้ จึงต้องตั้งค่าความปลอดภัยพื้นฐานก่อนใช้งานจริง

  • เปลี่ยนรหัสผ่านเริ่มต้น – เข้าสู่ระบบด้วย `admin/admin` แล้วไปที่ *Configuration Users* แก้ไข password ของผู้ใช้ admin
  • **เปิดการยืนยันตัวตนแบบ LDAP (ถ้ามี) หรือกำหนดให้ใช้งาน OAuth2 ผ่าน Google/GitHub ตามต้องการ
  • บังคับ HTTPS – สร้างใบรับรอง self‑signed แล้วแมปไฟล์ cert/key ไปยัง container

```bash openssl req -newkey rsa:2048 -nodes -keyout grafana.key -x509 -days 365 -out grafana.crt mkdir -p ~/grafana/certs mv grafana.key grafana.crt ~/grafana/certs/ ```

จากนั้นรัน Grafana ใหม่พร้อม mount certs

```bash docker run -d \ --name=grafana \ -p 443:3000 \ -v ~/grafana/data:/var/lib/grafana \ -v ~/grafana/certs:/etc/grafana/certs \ -e "GF_SERVER_PROTOCOL=https" \ -e "GF_SERVER_CERT_PATH=/etc/grafana/certs/grafana.crt" \ -e "GF_SERVER_CERT_KEY=/etc/grafana/certs/grafana.key" \ grafana/grafana:latest ```

  • ปิดพอร์ต 3000 – หากใช้ HTTPS ให้ทำ firewall block พอร์ต HTTP ดั้งเดิม
การตั้งค่าคำสั่ง/ตัวเลือกผลลัพธ์
HTTP HTTPS`GF_SERVER_PROTOCOL=https` + cert pathเชื่อมต่อผ่าน TLS (พอร์ท 443)
ปิด port 3000`sudo iptables -A INPUT -p tcp --dport 3000 -j DROP`ไม่ให้เข้าถึง Grafana ผ่าน HTTP
**Tip: เก็บไฟล์ certificate ไว้ในโฟลเดอร์ที่มี permission `700` เพื่อป้องกันการเข้าถึงโดยผู้ใช้ทั่วไป

เชื่อมต่อกับแหล่งข้อมูล IoT (InfluxDB) — Add Data Source

ส่วนใหญ่ระบบ IoT จะส่งเมตริกซ์ไปยัง InfluxDB ด้วยโปรโตคอล line protocol เราจึงต้องเพิ่ม InfluxDB เป็น data source ใน Grafana

  • เปิดเมนู *Configuration Data Sources* แล้วคลิก Add data source
  • เลือก InfluxDB จากรายการ
  • ตั้งค่าพารามิเตอร์สำคัญ
  • URL: `http://<InfluxDB_IP>:8086`
  • Database: `iot_data` (ตามที่คุณตั้งค่าใน InfluxDB)
  • User / Password: ผู้ใช้ที่มีสิทธิอ่านข้อมูล
  • คลิก Save & Test หากแสดง “Data source is working” แปลการเชื่อมต่อสำเร็จ
**Warning: อย่าเปิดพอร์ต InfluxDB (8086) ให้เข้าถึงจากอินเทอร์เน็ตโดยตรง ควรจำกัด IP หรือใช้ reverse proxy ที่มีการตรวจสอบตัวตน

สร้าง Dashboard เบื้องต้นสำหรับ IoT — Create Dashboard

หลังจากเชื่อมต่อ data source แล้ว เราสามารถสร้างกราฟแสดงสถานะเซ็นเซอร์ต่าง ๆ ได้ทันที

  • คลิก + Dashboard จากนั้นเลือก Add new panel**
  • ในช่อง *Query* เลือก InfluxDB และพิมพ์คำสั่ง query ตัวอย่างเพื่อดึงอุณหภูมิจาก sensor `temp_sensor_1`

```sql SELECT mean("value") FROM "temperature" WHERE ("sensor_id" = 'temp_sensor_1') AND $timeFilter GROUP BY time($__interval) fill(null) ```

  • ตั้งค่า Visualization เป็น *Time series* หรือ *Gauge* ตามความเหมาะสม
  • ปรับสีและ thresholds เพื่อให้เห็นค่าที่เกินขีดจำกัด (เช่นอุณหภูมิ > 30°C แสดงสีแดง)

ทำซ้ำขั้นตอนสำหรับข้อมูลอื่น ๆ เช่น ความชื้น, การใช้ไฟฟ้า หรือสถานะการเชื่อมต่อของอุปกรณ์

**Tip: ใช้ตัวแปร `$sensor_id` ใน query เพื่อให้ผู้ใช้เลือกเซ็นเซอร์จาก dropdown ภายใน Dashboard ลดจำนวน panel ที่ต้องสร้าง

การบำรุงรักษาและอัปเดต — Maintenance & Updates

เพื่อให้ระบบทำงานต่อเนื่อง ควรตั้งกระบวนการสำรองข้อมูลและตรวจสอบเวอร์ชันเป็นประจำ

  • Backup dashboard และ datasource – Export JSON ของ Dashboard หรือใช้ Grafana API เพื่อดึงข้อมูลออกเก็บไว้ที่ NAS หรือ Cloud storage
  • อัปเดต Docker image ทุกครั้งเมื่อมีเวอร์ชันใหม่ของ Grafana ปล่อย

```bash docker pull grafana/grafana:latest docker stop grafana && docker rm grafana ```

  • ตรวจสอบ log – ใช้คำสั่ง `docker logs -f grafana` เพื่อตรวจสอบข้อผิดพลาดหรือการโจมตี
งานบำรุงรักษาความถี่แนะนำ
Backup Dashboard & Data sourceรายสัปดาห์
Update Grafana Docker imageทุกเดือน (หากมี release)
ตรวจสอบ Log security eventsรายวัน

สรุป — Summary

การติดตั้ง Grafana บน Raspberry Pi เป็นวิธีที่คุ้มค่าและปลอดภัยสำหรับการเฝ้าระวังระบบ IoT ของคุณ

  • เตรียมอุปกรณ์ให้พร้อม (Raspberry Pi 4, OS Lite) และติดตั้ง Docker เพื่อความยืดหยุ่น
  • ดึง image Grafana แล้วรันด้วยโฟลเดอร์ข้อมูลถาวรเพื่อไม่ให้สูญหายเมื่อตรีสตาร์ท
  • กำหนดค่าความปลอดภัยขั้นพื้นฐาน: เปลี่ยน password, เปิด HTTPS, ปิดพอร์ต HTTP ไม่ใช้
  • เชื่อมต่อกับ InfluxDB หรือแหล่งข้อมูล IoT อื่น ๆ แล้วสร้าง Dashboard ที่ตอบโจทย์การตรวจสอบแบบเรียลไทม์

สิ่งที่ควรจำ

  • เปลี่ยนรหัสผ่านเริ่มต้น และบังคับใช้ HTTPS เสมอ
  • สำรองไฟล์ config / dashboard อย่างสม่ำเสมอเพื่อป้องกันข้อมูลหาย
  • อัปเดต Docker image เพื่อรับฟีเจอร์และแพทช์ความปลอดภัยใหม่ ๆ

ทำตามขั้นตอนเหล่านี้ คุณจะได้ระบบเฝ้าระวัง IoT ที่ทำงานอย่างมั่นคงบน Raspberry Pi พร้อมการป้องกันระดับพื้นฐานที่เพียงพอสำหรับโครงการขนาดเล็กถึงกลาง.

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
วิธีติดตั้งและกำหนดค่า Grafana บน Raspberry Pi เพื่อติดตามระบบ IoT อย่างปลอดภัย
ผู้เขียน
กองบรรณาธิการ Thai Tech News
แหล่ง
บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
วันที่เผยแพร่
22 สิงหาคม 2569 เวลา 19:51

Related

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

วิธีตั้งค่าและใช้ LocalStack เพื่อจำลองบริการ AWS บนเครื่องพัฒนาอย่างปลอดภัยGrowth
22 สิงหาคม 2569 เวลา 18:30

วิธีตั้งค่าและใช้ LocalStack เพื่อจำลองบริการ AWS บนเครื่องพัฒนาอย่างปลอดภัย

การพัฒนาแอปพลิเคชันที่ใช้บริการของ AWS จำเป็นต้องมีสภาพแวดล้อมทดสอบที่เสมือนจริงและปลอดภัย LocalStack คือเครื่องมือที่ทำให้คุณสามารถจำลองหลาย ๆ บริการของ AWS บนเครื่องของตนเองได้โดยไม่ต้องเชื่อมต่ออิน…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
วิธีใช้ GitHub Copilot ใน VS Code เพื่อเพิ่มประสิทธิภาพการเขียนโค้ดและจัดการความลับอย่างปลอดภัยGrowth
22 สิงหาคม 2569 เวลา 12:30

วิธีใช้ GitHub Copilot ใน VS Code เพื่อเพิ่มประสิทธิภาพการเขียนโค้ดและจัดการความลับอย่างปลอดภัย

GitHub Copilot เป็น AI‑assist​ant ที่ช่วยเขียนโค้ดได้เร็วขึ้นโดยอัตโนมัติ ส่วน VS Code คือ IDE ยอดนิยมของนักพัฒนา การผสานสองเครื่องมือนี้จะทำให้คุณ **ลดเวลาการพิมพ์** และ **เพิ่มความแม่นยำ** ของโค้ดได…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ6 นาที
วิธีติดตั้งและกำหนดค่า Home Assistant บน Raspberry Pi ด้วย Docker‑Compose อย่างปลอดภัยGrowth
22 สิงหาคม 2569 เวลา 11:00

วิธีติดตั้งและกำหนดค่า Home Assistant บน Raspberry Pi ด้วย Docker‑Compose อย่างปลอดภัย

Home Assistant เป็นแพลตฟอร์มอัตโนมัติที่ทำงานบน Raspberry Pi ได้อย่างเต็มประสิทธิภาพ การใช้ Docker‑Compose ช่วยให้คุณจัดการคอนเทนเนอร์ได้ง่ายและสามารถอัปเดตแยกส่วนโดยไม่กระทบระบบอื่น ๆ **ความปลอดภัย**…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ9 นาที
วิธีตั้งค่า Sandboxed Python Environment ด้วย pyenv‑virtualenv บน Windows เพื่อความปลอดภัยGrowth
21 สิงหาคม 2569 เวลา 18:30

วิธีตั้งค่า Sandboxed Python Environment ด้วย pyenv‑virtualenv บน Windows เพื่อความปลอดภัย

การสร้างสภาพแวดล้อม Python ที่ทำงานแบบ sandboxed ช่วยให้คุณรันโค้ดจากแหล่งที่ไม่เชื่อถือได้โดยไม่เสี่ยงต่อระบบหลักของ Windows ​คอมพิวเตอร์ ​บทความนี้จะแนะนำวิธีตั้งค่า **pyenv‑virtualenv** บน Windows…

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