การติดตั้งระบบเฝ้าระวังเครือข่าย (Network Monitoring) ด้วย Netdata บน Ubuntu Server 26.04

การติดตั้งระบบเฝ้าระวังเครือข่าย (Network Monitoring) ด้วย Netdata บน Ubuntu Server 26.04

เมื่อ Server เริ่มทำงานช้า Network Traffic สูงผิดปกติ หรือผู้ใช้แจ้งว่าระบบเข้าใช้งานไม่ได้เป็นบางช่วง ผู้ดูแลระบบจำเป็นต้องมีข้อมูลที่ช่วยตอบคำถามว่า ขณะเกิดปัญหา CPU, RAM, Disk และ Network Interface มีสถานะอย่างไร

Netdata เป็นระบบ Monitoring แบบ Real-time ที่รวบรวม Metric ของระบบและแสดงผลผ่าน Web Dashboard โดยสามารถตรวจสอบ CPU, Memory, Disk I/O, Network Traffic, TCP Connection, Process, Systemd Service และ Application ต่าง ๆ ได้จากหน้าจอเดียว

บทความนี้จะติดตั้ง Netdata บน Ubuntu Server 26.04 LTS ผ่าน Native DEB Package และ Official APT Repository โดยไม่ใช้สคริปต์ kickstart.sh

Ubuntu 26.04 LTS มีชื่อรหัสว่า Resolute Raccoon เปิดตัวเมื่อวันที่ 23 เมษายน 2026 และได้รับ Standard Security Maintenance ถึงเดือนเมษายน 2031

สภาพแวดล้อมที่ใช้ในบทความ

  • Operating System: Ubuntu Server 26.04 LTS

  • Ubuntu Codename: resolute

  • Netdata Package: Stable channel

  • Server IP ตัวอย่าง: 192.168.1.20

  • Management Network: 192.168.1.0/24

  • Netdata Dashboard Port: TCP 19999


ทำไมจึงติดตั้ง Netdata ผ่าน APT

การติดตั้งผ่าน APT เหมาะกับ Server ที่ต้องการบริหาร Package ตามมาตรฐานของ Ubuntu เพราะสามารถตรวจสอบ ติดตั้ง อัปเดต และถอนการติดตั้งด้วยคำสั่งชุดเดียวกับ Package อื่นในระบบ เช่น

sudo apt update
sudo apt upgrade
sudo apt remove

Netdata มี Native DEB Package สำหรับ Ubuntu และจัดเก็บไว้ใน Repository ของ Netdata โดยตรง ส่วน PackageCloud Repository รุ่นเดิมไม่ได้รับการอัปเดตแล้ว

ข้อดีของการติดตั้งแบบ APT ได้แก่

  • ไม่ต้องรัน Installation Script

  • ตรวจสอบ Package ได้ด้วย dpkg และ apt

  • อัปเดตผ่าน apt upgrade

  • ใช้งานร่วมกับ unattended-upgrades ได้

  • ถอนการติดตั้งได้ง่าย

  • เหมาะกับการบริหาร Server หลายเครื่อง


สิ่งที่ต้องเตรียมก่อนติดตั้ง

ก่อนเริ่มติดตั้งควรมีสิ่งต่อไปนี้

  • Ubuntu Server 26.04 LTS

  • บัญชีผู้ใช้ที่เรียกใช้ sudo ได้

  • Server เชื่อมต่อ Internet และ DNS ได้

  • มี IP Address แบบคงที่หรือ DHCP Reservation

  • เครื่องผู้ดูแลระบบเชื่อมต่อถึง Server ได้

  • ทราบ IP หรือ Network ที่จะอนุญาตให้เปิด Dashboard

ตรวจสอบเวอร์ชัน Ubuntu:

# แสดงชื่อและเวอร์ชันระบบปฏิบัติการ
cat /etc/os-release

ผลลัพธ์ควรมีข้อมูลใกล้เคียงดังนี้:

PRETTY_NAME="Ubuntu 26.04 LTS"
VERSION_CODENAME=resolute
UBUNTU_CODENAME=resolute

ตรวจสอบ Codename โดยตรง:

# ควรแสดงผลเป็น resolute
. /etc/os-release
echo "$VERSION_CODENAME"

ตรวจสอบ IP Address ของ Server:

# แสดงชื่อ Network Interface และ IP Address แบบย่อ
ip -br address

ตัวอย่าง:

lo               UNKNOWN        127.0.0.1/8
ens18            UP             192.168.1.164/24

ในตัวอย่างนี้ Server ใช้ IP Address 192.168.1.164

ภาพหน้าจอที่แนะนำ: ผลลัพธ์คำสั่ง cat /etc/os-release และ ip -br address


ขั้นตอนที่ 1: อัปเดต Ubuntu Server

อัปเดตรายการ Package และติดตั้ง Update ล่าสุด:

# อัปเดตรายการ Package จาก Repository
sudo apt update

# ติดตั้ง Package Update ที่มีอยู่
sudo apt upgrade -y

ติดตั้งเครื่องมือที่จำเป็น:

# wget ใช้ดาวน์โหลดไฟล์ Repository Configuration
# ca-certificates ใช้ตรวจสอบ HTTPS Certificate
sudo apt install -y wget ca-certificates

ตรวจสอบว่าระบบต้อง Restart หรือไม่:

if [ -f /var/run/reboot-required ]; then
    echo "ระบบควร Restart"
    cat /var/run/reboot-required
else
    echo "ยังไม่จำเป็นต้อง Restart"
fi

หากระบบแจ้งว่าต้อง Restart:

sudo reboot

⚠️ คำเตือน: คำสั่ง reboot จะทำให้ Service บนเครื่องหยุดทำงานชั่วคราว ควรตรวจสอบผู้ใช้งานและบริการสำคัญก่อนดำเนินการ


ขั้นตอนที่ 2: ดาวน์โหลด Netdata Repository Package

Netdata มี Repository Configuration Package สำหรับ Ubuntu 26.04 หรือ resolute โดยตรง ไฟล์นี้จะเพิ่ม Stable Repository และ Signing Key ที่จำเป็นให้กับ APT

ดาวน์โหลด Repository Package:

# ดาวน์โหลด Repository Configuration สำหรับ Ubuntu 26.04
wget -O /tmp/netdata-repo.deb \
https://repository.netdata.cloud/repos/repoconfig/ubuntu/resolute/netdata-repo_5-5+ubuntu26.04_all.deb

ตรวจสอบว่าไฟล์ถูกดาวน์โหลดสำเร็จ:

# แสดงขนาดและรายละเอียดไฟล์
cd /tmp
ls -lh /tmp/netdata-repo.deb

# ตรวจสอบชนิดไฟล์
file /tmp/netdata-repo.deb

ผลลัพธ์ควรมีลักษณะใกล้เคียงดังนี้:

Debian binary package

ตรวจสอบข้อมูลภายใน Package ก่อนติดตั้ง:

# อ่านข้อมูล Package โดยยังไม่ติดตั้ง
dpkg-deb --info /tmp/netdata-repo.deb

คำนวณค่า SHA-256 เพื่อใช้บันทึกใน Installation Log:

sha256sum /tmp/netdata-repo.deb

หมายเลขรุ่นของ Repository Configuration Package อาจเปลี่ยนในอนาคต แต่ Path ของ Ubuntu 26.04 จะอยู่ภายใต้ไดเรกทอรี ubuntu/resolute ตามโครงสร้าง Official Repository ของ Netdata


ขั้นตอนที่ 3: ติดตั้ง Netdata Repository ผ่าน APT

ใช้ APT ติดตั้งไฟล์ .deb ที่ดาวน์โหลดมา:

# เพิ่ม Official Netdata Repository และ Signing Key
sudo apt install -y ./netdata-repo.deb

การใช้ apt install แทน dpkg -i มีข้อดีคือ APT สามารถจัดการ Dependency ที่ Package ต้องใช้ได้อัตโนมัติ

ตรวจสอบ Source List ที่ถูกเพิ่มเข้ามา:

# ค้นหา Netdata Repository ใน APT Configuration
grep -R "repository.netdata.cloud" \
    /etc/apt/sources.list.d/ 2>/dev/null

ตรวจสอบ Package ที่เกี่ยวข้องกับ Repository:

dpkg -l | grep netdata-repo


จากนั้นอัปเดตรายการ Package:

# ดาวน์โหลด Package Index จาก Netdata Repository
sudo apt update

ในผลลัพธ์ควรปรากฏ Repository ที่มีข้อความเกี่ยวกับ:

repository.netdata.cloud

Netdata ใช้ Repository แยกระหว่าง Stable และ Edge โดย Stable Repository เหมาะกับระบบที่ต้องการ Release ซึ่งผ่านการเผยแพร่เป็นรุ่น Stable แล้ว


ขั้นตอนที่ 4: ตรวจสอบแหล่งที่มาของ Netdata Package

ก่อนติดตั้ง ควรตรวจสอบว่า APT มองเห็น Package จาก Netdata Repository:

apt-cache policy netdata

ตัวอย่างผลลัพธ์:

netdata:
  Installed: (none)
  Candidate: x.x.x
  Version table:
     x.x.x 500
        500 https://repository.netdata.cloud/repos/stable/ubuntu resolute/ Packages

จุดที่ควรตรวจสอบคือบรรทัด Candidate ต้องมีหมายเลขเวอร์ชัน และ Repository ควรมาจาก repository.netdata.cloud

ตรวจสอบ Package เพิ่มเติม:

# แสดงรายละเอียดของ Package
apt show netdata

หากคำสั่งแสดงข้อมูล Package ได้ แสดงว่า Repository พร้อมใช้งาน


ขั้นตอนที่ 5: ติดตั้ง Netdata ด้วย APT

ติดตั้ง Netdata Agent:

# ติดตั้ง Netdata จาก Official Stable Repository
sudo apt install -y netdata

APT จะดาวน์โหลด Netdata และ Dependency ที่จำเป็น จากนั้นสร้าง Systemd Service ให้โดยอัตโนมัติ

ตรวจสอบ Package ที่ติดตั้ง:

dpkg -l | grep -E '^ii.*netdata'

ตรวจสอบเวอร์ชัน:

netdata -v

หมายเลขเวอร์ชันที่ได้จะขึ้นอยู่กับ Stable Release ล่าสุดในวันที่ติดตั้ง


ขั้นตอนที่ 6: เปิดใช้งาน Netdata Service

สั่งให้ Netdata เริ่มทำงานทันทีและทำงานอัตโนมัติหลัง Boot:

sudo systemctl enable --now netdata

ตรวจสอบสถานะ:

sudo systemctl status netdata --no-pager

สถานะปกติควรแสดง:

Active: active (running)

ตรวจสอบแบบย่อ:

# ควรแสดง active
sudo systemctl is-active netdata

# ควรแสดง enabled
sudo systemctl is-enabled netdata

หาก Service ไม่ทำงาน ให้ดู Log:

sudo journalctl -u netdata -n 100 --no-pager




ขั้นตอนที่ 7: ตรวจสอบพอร์ต Netdata

Netdata เปิด Local Dashboard ที่ TCP Port 19999 เป็นค่าเริ่มต้น หาก Server มี Public IP และไม่มี Firewall ป้องกัน Dashboard อาจถูกเข้าถึงจากเครือข่ายที่ไม่เชื่อถือได้

ตรวจสอบพอร์ต:

# แสดง Process ที่กำลัง Listen บน Port 19999
sudo ss -lntp | grep 19999

ตัวอย่าง:

LISTEN 0 4096 0.0.0.0:19999 0.0.0.0:*

ทดสอบ Dashboard จากภายใน Server:

curl -I http://127.0.0.1:19999/

ทดสอบ Netdata API:

curl --fail http://127.0.0.1:19999/api/v1/info

หาก Netdata ทำงานปกติ จะได้รับข้อมูล JSON กลับมา โดย Netdata ใช้ Endpoint นี้เป็นหนึ่งในวิธีตรวจสอบ Native Package Installation


ขั้นตอนที่ 8: ตั้งค่า UFW Firewall

ไม่ควรเปิด Port 19999 ให้ทุก IP โดยไม่มีข้อจำกัด โดยเฉพาะ Server ที่มี Public IP

ตรวจสอบสถานะ UFW:

sudo ufw status verbose

หาก UFW ยังไม่ทำงานและกำลังเชื่อมต่อผ่าน SSH ต้องอนุญาต SSH ก่อน:

# อนุญาต OpenSSH ก่อนเปิด Firewall
sudo ufw allow OpenSSH

อนุญาต Netdata เฉพาะ Management Network:

# อนุญาตเฉพาะวงเครือข่ายผู้ดูแลระบบ
sudo ufw allow from 192.168.1.0/24 \
    to any port 19999 proto tcp \
    comment 'Netdata Management LAN'

หรืออนุญาตเฉพาะเครื่องผู้ดูแลระบบ:

# อนุญาตเฉพาะ Admin PC ที่ IP 192.168.1.10
sudo ufw allow from 192.168.1.10 \
    to any port 19999 proto tcp \
    comment 'Netdata Admin PC'

เปิดใช้งาน UFW:

sudo ufw enable

ตรวจสอบ Rule:

sudo ufw status numbered

⚠️ คำเตือน: อย่าใช้ sudo ufw enable บน Remote Server ก่อนเพิ่ม Rule สำหรับ SSH เพราะอาจทำให้การเชื่อมต่อถูกตัดและไม่สามารถ SSH กลับเข้าเครื่องได้

Netdata แนะนำให้ป้องกัน Port 19999 จากเครือข่ายที่ไม่เชื่อถือ และสามารถใช้ Firewall, IP Restriction, Authentication หรือ Reverse Proxy ร่วมกันได้

ภาพหน้าจอที่แนะนำ: ผลลัพธ์ sudo ufw status numbered


ขั้นตอนที่ 9: เปิด Netdata Dashboard

จากเครื่องผู้ดูแลระบบ เปิด Web Browser แล้วระบุ:

http://192.168.1.164:19999

เปลี่ยน 192.168.1.164 เป็น IP Address ของ Server จริง

คลิกที่ Skip and the dashboard anonymously

หน้า Dashboard จะแสดงข้อมูล เช่น

  • CPU Usage

  • Load Average

  • Memory และ Swap

  • Disk Space

  • Disk I/O

  • Network Interfaces

  • IPv4 และ IPv6

  • TCP Connections

  • Systemd Services

  • Processes

  • Alerts

ภาพหน้าจอที่แนะนำ: หน้า Overview ของ Netdata Dashboard


ขั้นตอนที่ 10: ตรวจสอบ Network Traffic

ใน Netdata Dashboard ให้ค้นหาชื่อ Network Interface เช่น

ens18
enp1s0
eth0

ข้อมูลสำคัญที่ควรตรวจสอบ ได้แก่

Network Bandwidth

แสดงปริมาณ Traffic ขาเข้าและขาออกของแต่ละ Interface หากกราฟสูงต่อเนื่องใกล้ความเร็วสูงสุดของ Interface อาจเกิด Network Bottleneck

Network Packets

แสดงจำนวน Packet ต่อวินาที เหมาะสำหรับตรวจสอบระบบที่มี Connection จำนวนมาก แม้ Bandwidth จะไม่สูงมาก

Network Errors

หากมี Error เพิ่มขึ้นต่อเนื่อง ให้ตรวจสอบ Interface จาก Command Line:

ip -s link

ตรวจสอบเฉพาะ Interface:

# เปลี่ยน ens18 เป็นชื่อ Interface จริง
ip -s link show ens18

Network Drops

Packet Drop อาจเกิดจาก Traffic สูง Queue เต็ม Driver มีปัญหา หรือ Virtual Network ตั้งค่าไม่เหมาะสม

ติดตั้ง ethtool:

sudo apt install -y ethtool

ตรวจสอบ Link:

# เปลี่ยน ens18 เป็นชื่อ Interface จริง
sudo ethtool ens18

ตรวจสอบค่า Speed, Duplex และ Link:

Speed: 1000Mb/s
Duplex: Full
Link detected: yes

การอัปเดต Netdata

เนื่องจากติดตั้งผ่าน Native Package จึงอัปเดต Netdata ผ่าน APT ได้:

sudo apt update
sudo apt upgrade

อัปเดตเฉพาะ Netdata:

sudo apt install --only-upgrade netdata

ตรวจสอบเวอร์ชันหลังอัปเดต:

netdata -v

ตรวจสอบเวอร์ชันที่ติดตั้งและเวอร์ชัน Candidate:

apt-cache policy netdata

Native Package สามารถได้รับการอัปเดตจากเครื่องมือระดับระบบ เช่น unattended-upgrades ของ Ubuntu ได้เช่นเดียวกับ Package อื่น


การถอนการติดตั้ง Netdata

หยุด Service:

sudo systemctl stop netdata

ถอน Package แต่เก็บ Configuration:

sudo apt remove -y netdata

ถอน Package พร้อม Configuration:

sudo apt purge -y netdata

ลบ Dependency ที่ไม่จำเป็น:

sudo apt autoremove -y

ถอน Repository Configuration:

sudo apt purge -y netdata-repo
sudo apt update

⚠️ คำเตือน: การใช้ purge อาจลบ Configuration ของ Netdata ควรสำรอง /etc/netdata ก่อนดำเนินการในระบบ Production

สำรอง Configuration:

sudo tar -czf /root/netdata-config-backup.tar.gz /etc/netdata

แก้ปัญหา APT มองไม่เห็น Netdata Package

หากคำสั่งต่อไปนี้ไม่พบ Candidate:

apt-cache policy netdata

ให้ตรวจสอบ Repository:

grep -R "repository.netdata.cloud" \
    /etc/apt/sources.list.d/ 2>/dev/null

ตรวจสอบ Codename:

. /etc/os-release
echo "$VERSION_CODENAME"

สำหรับ Ubuntu 26.04 ต้องแสดง:

resolute

ล้างและดาวน์โหลด Package Index ใหม่:

sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update

⚠️ คำสั่งลบ /var/lib/apt/lists/* จะลบเฉพาะ Package Index ที่ดาวน์โหลดไว้ ไม่ได้ลบ Package ที่ติดตั้งในระบบ แต่ APT ต้องดาวน์โหลด Index ใหม่ทั้งหมด


แก้ปัญหา Signature หรือ GPG Key

หาก sudo apt update แสดงข้อผิดพลาดลักษณะนี้:

NO_PUBKEY
The following signatures couldn't be verified

ให้ติดตั้ง Repository Configuration Package ใหม่:

sudo apt install --reinstall -y /tmp/netdata-repo.deb
sudo apt update

ตรวจสอบวันและเวลาของ Server:

timedatectl

เปิด NTP:

sudo timedatectl set-ntp true

หากเวลาของเครื่องคลาดเคลื่อนมาก การตรวจสอบ HTTPS Certificate และ Repository Signature อาจทำงานผิดพลาดได้


แก้ปัญหาเปิด Dashboard ไม่ได้

ตรวจสอบ Service:

sudo systemctl status netdata --no-pager

ตรวจสอบ Port:

sudo ss -lntp | grep 19999

ตรวจสอบ Local API:

curl --fail http://127.0.0.1:19999/api/v1/info

ตรวจสอบ Firewall:

sudo ufw status numbered

ตรวจสอบ Log:

sudo journalctl -u netdata -n 100 --no-pager

หากเรียก localhost:19999 จาก Server ได้ แต่ Browser จากเครื่องอื่นเข้าไม่ได้ ปัญหามักเกี่ยวข้องกับ

  • UFW Firewall

  • Cloud Security Group

  • Router ACL

  • VLAN หรือ Routing

  • Netdata Bind Address

  • IP Address ไม่ถูกต้อง

Cloud Provider อาจมี Network Firewall แยกจาก UFW ภายในเครื่อง ดังนั้นต้องตรวจสอบทั้งสองระดับ


ชุดคำสั่งตรวจสอบหลังติดตั้ง

ใช้คำสั่งชุดนี้เพื่อตรวจสอบความพร้อมของระบบ:

# ตรวจสอบ Package
dpkg -l | grep -E '^ii.*netdata'

# ตรวจสอบเวอร์ชัน
netdata -v

# ตรวจสอบ Service
sudo systemctl is-active netdata
sudo systemctl is-enabled netdata

# ตรวจสอบ Port
sudo ss -lntp | grep 19999

# ตรวจสอบ Local API
curl --fail http://127.0.0.1:19999/api/v1/info

# ตรวจสอบ Firewall
sudo ufw status numbered

# ตรวจสอบ Repository
apt-cache policy netdata

# ตรวจสอบ Log ล่าสุด
sudo journalctl -u netdata -n 50 --no-pager

ระบบที่พร้อมใช้งานควรมีสถานะดังนี้:

Netdata Package    : installed
Netdata Service    : active
Service on Boot    : enabled
Dashboard Port     : 19999
Local API          : responding
Repository         : repository.netdata.cloud
Firewall Access    : Management Network only

สรุป

การติดตั้ง Netdata ผ่าน Official APT Repository เป็นแนวทางที่เหมาะกับ Ubuntu Server เพราะสามารถบริหาร Package ด้วยเครื่องมือมาตรฐานของระบบ ไม่ต้องรันสคริปต์ติดตั้ง และสามารถอัปเดต Netdata ผ่าน apt update และ apt upgrade ได้โดยตรง

หลังติดตั้ง Netdata จะเริ่มรวบรวม Metric ของ CPU, RAM, Disk, Network Interface, TCP Connection, Process และ Systemd Service โดยแสดงข้อมูลผ่าน Dashboard ที่ TCP Port 19999

อย่างไรก็ตาม ผู้ดูแลระบบไม่ควรเปิด Port 19999 สู่ Internet โดยตรง ควรจำกัดด้วย UFW ให้เฉพาะ Management Network หรือเครื่องของผู้ดูแลระบบเท่านั้น สำหรับ Production Environment ควรพิจารณาใช้ VPN, Netdata Cloud Authentication หรือ Nginx Reverse Proxy พร้อม HTTPS เพิ่มเติม



Write by Dr.Arnut Ruttanatirakul
(c) SysAdmin Knowledge
https://www.sysadmin.in.th
July 12, 2026