
ที่มาภาพ: 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



