
Netdata คือเครื่องมือมอนิเตอร์เซิร์ฟเวอร์แบบ real-time ที่ดีที่สุดในตลาดสำหรับผู้ดูแล VPS รายบุคคลและทีมขนาดเล็ก เก็บข้อมูล CPU, RAM, Disk, Network ทุก 1 วินาที แสดงบน dashboard ที่สวยงามและใช้งานง่าย โดยไม่มีค่าใช้จ่ายใดๆ
สารบัญ
Netdata คืออะไร ทำไมต้องใช้
Netdata เป็นซอฟต์แวร์มอนิเตอร์ระบบ open-source ที่พัฒนาขึ้นมาตั้งแต่ปี 2013 ปัจจุบันมีผู้ใช้กว่า 1 ล้านระบบทั่วโลก จุดเด่นหลักคือ:
- Real-time ทุก 1 วินาที — เห็นการเปลี่ยนแปลงทันที ไม่ต้องรอ 30-60 วินาทีเหมือนเครื่องมืออื่น
- Auto-discovery — ตรวจจับ services ที่รันอยู่อัตโนมัติ (Nginx, MySQL, Docker ฯลฯ)
- Dashboard สวย พร้อมใช้ — ไม่ต้องตั้งค่า visualization เอง
- Lightweight — ใช้ RAM เพียง 100-200 MB, CPU น้อยกว่า 1%
- ฟรี 100% — Apache 2.0 license, self-hosted ไม่มีข้อจำกัด
ความต้องการของระบบ
| ส่วนประกอบ | ขั้นต่ำ | แนะนำ |
|---|---|---|
| OS | Ubuntu 20.04+ / Debian 10+ | Ubuntu 22.04 LTS |
| RAM | 512 MB | 1 GB ขึ้นไป |
| CPU | 1 vCore | 2 vCore ขึ้นไป |
| Disk | 1 GB (data retention 1 วัน) | 5 GB (retention 7 วัน) |
| Port | 19999 (local หรือ reverse proxy) | Nginx reverse proxy + HTTPS |
VPS ที่ AsiaGB ทุกแพ็กเกจตั้งแต่ 1 GB RAM ขึ้นไปรองรับ Netdata ได้สบาย
ติดตั้ง Netdata บน Ubuntu/Debian
วิธีที่ 1: ใช้ kickstart script (แนะนำ — เร็วที่สุด)
รันคำสั่งด้านล่างบน VPS ของคุณ ใช้เวลาประมาณ 2-5 นาที:
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
Flag ที่ใช้:
--stable-channel— ใช้ version stable ไม่ใช่ nightly--disable-telemetry— ปิดการส่งข้อมูลสถิติไปยัง Netdata Inc.
วิธีที่ 2: ติดตั้งจาก package manager
# Ubuntu/Debian
curl -fsSL https://packagecloud.io/netdata/netdata/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/netdata.gpg
echo "deb https://packagecloud.io/netdata/netdata/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/netdata.list
sudo apt-get update
sudo apt-get install -y netdata
ตรวจสอบสถานะ
sudo systemctl status netdata
# ควรได้: Active: active (running)
# ดู log
sudo journalctl -u netdata -f
เปิดใช้งานอัตโนมัติเมื่อ reboot
sudo systemctl enable netdata
เข้าถึง Dashboard
Netdata เปิด port 19999 บน 0.0.0.0 ค่าเริ่มต้น สามารถเข้าถึงได้ทันทีที่:
http://YOUR_VPS_IP:19999
ใช้ SSH Tunnel (วิธีปลอดภัยที่สุด)
# รันบนเครื่อง local ของคุณ
ssh -L 19999:localhost:19999 user@YOUR_VPS_IP -N
# แล้วเปิด browser ไปที่
http://localhost:19999
ตั้งค่าความปลอดภัยด้วย Nginx
การใช้ Nginx reverse proxy ทำให้ Netdata เข้าถึงได้ผ่าน HTTPS พร้อม basic authentication:
ขั้นตอนที่ 1: ล็อก Netdata ให้รับ request เฉพาะ localhost
แก้ไขไฟล์ /etc/netdata/netdata.conf:
[web]
bind to = 127.0.0.1
sudo systemctl restart netdata
ขั้นตอนที่ 2: สร้าง Nginx vhost
sudo nano /etc/nginx/sites-available/netdata
server {
listen 80;
server_name monitor.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name monitor.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/monitor.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.yourdomain.com/privkey.pem;
auth_basic "Netdata Monitoring";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
ขั้นตอนที่ 3: สร้าง password file
sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd admin
ขั้นตอนที่ 4: เปิดใช้งาน
sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
ตั้งค่า Alert แจ้งเตือน
Netdata มี alert สำเร็จรูปกว่า 400 รายการ สามารถส่งแจ้งเตือนไปยัง Telegram, Slack, Email และอื่นๆ:
ตั้งค่า Telegram Alert
sudo nano /etc/netdata/health_alarm_notify.conf
แก้ไขบรรทัดเหล่านี้:
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID="YOUR_CHAT_ID"
sudo systemctl restart netdata
ทดสอบ Alert
sudo -u netdata /usr/libexec/netdata/plugins.d/alarm-notify.sh test telegram
ปรับ Threshold Alert
สร้างไฟล์ alert แบบ custom ใน /etc/netdata/health.d/:
# ตัวอย่าง: alert เมื่อ CPU สูงเกิน 85% นาน 5 นาที
alarm: cpu_high
on: system.cpu
lookup: average -5m unaligned of user,system,softirq,irq,guest
units: %
every: 1m
warn: $this > 70
crit: $this > 85
info: CPU utilization too high
เมตริกสำคัญที่ต้องดูบน Dashboard
| หมวด | เมตริก | ค่าที่ควร alert |
|---|---|---|
| CPU | user, system, iowait | iowait > 20% = disk bottleneck |
| Memory | used, cached, buffered | used > 85% = RAM ไม่พอ |
| Disk I/O | reads, writes, utilization | utilization > 80% = ช้าลง |
| Network | received, sent, packets | bandwidth ใกล้ limit ISP |
| System Load | load1, load5, load15 | load15 > จำนวน CPU cores |
| Processes | running, blocked | blocked > 10 = ปัญหา I/O |
การอ่าน CPU Chart
CPU chart แสดงสีหลายสี แต่ละสีมีความหมาย:
- user (เขียว) — โปรแกรม user-space ใช้ (เว็บเซิร์ฟเวอร์, PHP ฯลฯ)
- system (แดง) — kernel operations
- iowait (เหลือง) — CPU รอ disk I/O — ถ้าสูงแสดงว่า disk เป็น bottleneck
- steal (ม่วง) — สำคัญมากบน VPS — ถ้า steal สูง hypervisor กำลัง throttle CPU ของคุณ
เปรียบเทียบ Netdata กับ Prometheus/Grafana และเครื่องมืออื่น
| เครื่องมือ | ความง่ายติดตั้ง | Real-time | Resource | เหมาะกับ |
|---|---|---|---|---|
| Netdata | ⭐⭐⭐⭐⭐ ง่ายมาก | 1 วินาที | RAM ~150 MB | VPS รายบุคคล, SMB |
| Prometheus + Grafana | ⭐⭐ ซับซ้อน | 15+ วินาที | RAM 500+ MB | องค์กร, cluster |
| Zabbix | ⭐⭐⭐ ปานกลาง | 30+ วินาที | RAM 300+ MB | enterprise |
| htop/top | ⭐⭐⭐⭐⭐ ง่ายมาก | real-time | minimal | debug เฉพาะหน้า, ไม่มีประวัติ |
คำถามที่พบบ่อย (FAQ)
Netdata ใช้ได้กับ VPS ราคาถูกไหม?
ได้ครับ ต้องการ RAM เพียง 100-200 MB และ CPU ต่ำมาก เหมาะกับ VPS ทุกขนาดตั้งแต่ 1 GB RAM ขึ้นไป
Netdata ฟรีจริงไหม?
Netdata Agent ฟรี 100% open-source ใช้ได้ไม่จำกัด มีแพ็กเกจ Netdata Cloud สำหรับองค์กรที่ต้องการฟีเจอร์เพิ่มเติม แต่ self-hosted ไม่มีข้อจำกัดใดๆ
จะ update Netdata ได้อย่างไร?
sudo /usr/libexec/netdata/netdata-updater.sh
หรือถ้าติดตั้งผ่าน apt: sudo apt update && sudo apt upgrade netdata
Netdata เก็บข้อมูลประวัตินานแค่ไหน?
ค่าเริ่มต้นเก็บข้อมูล in-memory ประมาณ 1 ชั่วโมง สามารถตั้งค่าให้เก็บลงดิสก์ได้นานหลายเดือน ด้วย dbengine mode ใน /etc/netdata/netdata.conf
ถ้าใช้ Docker ได้ไหม?
docker run -d --name=netdata \
-p 19999:19999 \
-v netdataconfig:/etc/netdata \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
สรุป
สรุปขั้นตอนทั้งหมด
- ติดตั้ง:
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry - ล็อก port 19999 ให้รับเฉพาะ localhost
- ตั้งค่า Nginx reverse proxy + HTTPS
- สร้าง basic authentication
- ตั้งค่า Telegram/Email alert
- ดู dashboard ที่
https://monitor.yourdomain.com
Netdata เป็นการลงทุนที่คุ้มค่ามากสำหรับทุก VPS — ใช้เวลาเพียง 5 นาทีในการติดตั้ง แต่ช่วยให้รู้ปัญหาเซิร์ฟเวอร์ก่อนที่ลูกค้าจะรู้ หรือก่อนที่เว็บจะล่ม
หากต้องการ VPS ที่รองรับ Netdata พร้อม SSD และ Uptime 99% สามารถดูแพ็กเกจได้ที่ AsiaGB VPS — มี VPS ไทย, สิงคโปร์ ให้เลือก พร้อมซัพพอร์ตภาษาไทย