Cách Cài Netdata Trên VPS Ubuntu Giám Sát Realtime Từ A-Z
Cách cài Netdata trên VPS là kỹ năng mà bất kỳ quản trị viên nào cũng nên nắm, nhất là khi máy chủ đột ngột chậm, CPU tăng vọt mà bạn không kịp tìm ra nguyên nhân. Netdata giúp bạn theo dõi CPU, RAM, đĩa và mạng theo thời gian thực chỉ với vài dòng […]
Cách cài Netdata trên VPS là kỹ năng mà bất kỳ quản trị viên nào cũng nên nắm, nhất là khi máy chủ đột ngột chậm, CPU tăng vọt mà bạn không kịp tìm ra nguyên nhân. Netdata giúp bạn theo dõi CPU, RAM, đĩa và mạng theo thời gian thực chỉ với vài dòng lệnh. Bài viết dưới đây sẽ hướng dẫn bạn cài đặt Netdata trên Ubuntu từ A đến Z, kèm phương án bảo mật dashboard sau khi triển khai. Nếu cần một VPS để thực hành, bạn có thể tham khảo dịch vụ tại ThueVPSGiaRe.vn.
1. Netdata là gì và lợi ích khi giám sát hệ thống máy chủ
Netdata là công cụ mã nguồn mở được phát triển nhằm phân tích và theo dõi sức khỏe phần cứng cũng như dịch vụ chạy trên hệ điều hành máy chủ theo thời gian thực. Phần mềm có thể hoạt động trơn tru trên nhiều hệ điều hành Linux (như Ubuntu, Debian, CentOS), FreeBSD và macOS nhờ kiến trúc viết bằng ngôn ngữ C, JavaScript và Python giúp tối ưu tốc độ xử lý mà không chiếm dụng quá nhiều tài nguyên máy chủ.

Hệ thống của Netdata tự động thu thập và biểu diễn trực quan các chỉ số then chốt trên bảng điều khiển tương tác:
- CPU: Thống kê chi tiết tải sử dụng tổng thể, hiệu suất trên từng nhân và tiến trình đang tiêu tốn CPU.
- Bộ nhớ RAM: Phân tích RAM đã dùng, bộ nhớ cache đệm và lượng bộ nhớ thực tế còn trống.
- Ổ đĩa lưu trữ: Ghi nhận băng thông đọc/ghi (I/O throughput), độ trễ truy xuất và tỷ lệ đầy phân vùng.
- Lưu lượng mạng: Giám sát băng thông vào/ra, số gói tin truyền tải cùng các kết nối socket hiện hành.
- Dịch vụ và ứng dụng: Tự động phát hiện trạng thái hoạt động của web server (Nginx, Apache), cơ sở dữ liệu (MySQL, PostgreSQL) và container.
Điểm nổi bật nhất của Netdata chính là khả năng thu thập dữ liệu với tần suất từng giây (1-second granularity), tích hợp thuật toán máy học phát hiện hành vi bất thường và hỗ trợ trích xuất số liệu sang các backend ngoài như Prometheus, InfluxDB hoặc Grafana. Hơn hết, dữ liệu được giữ nguyên cục bộ, đảm bảo tính riêng tư mà không cần gửi dữ liệu ra máy chủ bên thứ ba trừ khi bạn chủ động liên kết tài khoản Netdata Cloud.
2. So sánh chi tiết Netdata với Zabbix và Prometheus + Grafana
Việc lựa chọn nền tảng giám sát phụ thuộc trực tiếp vào quy mô hạ tầng và mục đích quản trị. Trong khi phương pháp cài đặt Prometheus trên Ubuntu thường kết hợp hiển thị đồ thị chuyên sâu, hoặc giải pháp triển khai hệ thống Zabbix tập trung vào hệ thống doanh nghiệp lớn, thì Netdata vượt trội ở tốc độ triển khai tức thì và mức tiêu thụ phần cứng cực kỳ tiết kiệm.
| Tiêu chí so sánh | Netdata | Prometheus + Grafana | Zabbix |
|---|---|---|---|
| Cài đặt & Cấu hình | Cực nhanh, cơ chế zero-config | Cần thiết lập exporters và file YAML | Cần cấu hình database riêng |
| Chu kỳ thu thập | Mỗi 1 giây (Thời gian thực) | Mặc định 10 đến 15 giây | Mặc định 30 đến 60 giây |
| Dashboard dựng sẵn | Có sẵn hoàn chỉnh, giao diện hiện đại | Cần tạo dashboard thủ công trên Grafana | Hỗ trợ template nhưng giao diện cũ |
| Tiêu hao tài nguyên | Chỉ khoảng 1-2% CPU, 100-150MB RAM | Tăng dần theo số lượng metric lưu trữ | Tốn tài nguyên duy trì cơ sở dữ liệu |
| Phạm vi khuyên dùng | Khắc phục sự cố nhanh, cụm 1 đến 20 VPS | Production phức tạp, Kubernetes, microservice | Hạ tầng mạng văn phòng, máy chủ vật lý |
Nếu quy mô hệ thống của bạn vượt quá phạm vi một vài máy chủ, bạn có thể tham khảo hướng dẫn cài đặt Prometheus trên Ubuntu kết hợp bộ đôi Grafana trên Ubuntu VPS để trực quan hóa metric, hoặc tìm hiểu cách cài đặt Zabbix 6.0 LTS trên Ubuntu khi cần quản trị tập trung nhiều thiết bị trong mạng nội bộ.
3. Điều kiện cần chuẩn bị trước khi cài đặt Netdata trên Ubuntu
Trước khi bắt tay vào thực hiện, bạn cần chuẩn bị môi trường VPS đáp ứng các tiêu chuẩn cơ bản dưới đây để công cụ hoạt động ổn định nhất:
- Hệ điều hành: Bản phân phối Ubuntu LTS được hỗ trợ chính thức gồm Ubuntu 20.04, 22.04 hoặc 24.04.
- Quyền thực thi: Tài khoản root hoặc người dùng thường có quyền thực thi lệnh
sudo. - Kết nối mạng: Đường truyền internet ổn định để tải gói cài đặt và các thư viện cần thiết.
- Cấu hình tối thiểu: Máy chủ có ít nhất 512MB RAM, tuy nhiên mức khuyến nghị là từ 1GB RAM trở lên để bảo đảm hiệu suất vẽ biểu đồ không gián đoạn.
4. Hướng dẫn từng bước cài Netdata tự động bằng Kickstart Script
Cách thức thuận tiện và nhanh gọn nhất được chính đội ngũ Netdata khuyến khích là sử dụng script tự động kickstart. Script này sẽ phát hiện phiên bản hệ điều hành, tự bổ sung gói phụ thuộc và kích hoạt dịch vụ chạy ngầm.
Bước 1: Làm mới danh sách gói phần mềm trên hệ thống
Đồng bộ hóa danh mục kho lưu trữ và nâng cấp các gói hiện có lên bản mới nhất nhằm hạn chế lỗi xung đột thư viện:
sudo apt update && sudo apt upgrade -y

Bước 2: Cài đặt công cụ curl nếu chưa có
Lệnh tải script cài đặt yêu cầu tiện ích curl, hãy kiểm tra và cài đặt nhanh qua APT:
sudo apt install curl -y

Bước 3: Tải và chạy script kickstart chính thức
Khởi chạy script cài đặt tự động bằng câu lệnh duy nhất sau:
bash <(curl -Ss https://get.netdata.cloud/kickstart.sh)
Script sẽ tự động rà soát môi trường, cấu hình repo và biên dịch các module phụ trợ. Khi xuất hiện câu hỏi xác nhận bổ sung gói phần mềm, bạn chỉ cần nhấn phím Enter hoặc gõ Y. Tiến trình thiết lập thường diễn ra từ 5 đến 10 phút tùy vào tốc độ xử lý của CPU và băng thông mạng.

Bước 4: Kiểm tra trạng thái dịch vụ Netdata
Sau khi script chạy xong, tiến trình dịch vụ sẽ tự khởi động. Bạn kiểm tra lại bằng lệnh systemctl để đảm bảo Netdata luôn bật khi hệ thống khởi động lại:
sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata
Màn hình hiển thị dòng trạng thái xanh lá active (running) đồng nghĩa hệ thống giám sát đã đi vào hoạt động ổn định.

Bước 5: Truy cập bảng điều khiển Netdata qua trình duyệt
Cổng truy cập mặc định của Netdata là 19999. Hãy nhập đường dẫn sau vào trình duyệt web:
http://your-server-ip:19999
Bạn thay thế your-server-ip bằng địa chỉ IP công cộng của VPS. Dashboard Netdata sẽ ngay lập tức hiện ra với hàng trăm biểu đồ thời gian thực phản ánh sức khỏe toàn bộ máy chủ.

5. Hướng dẫn từng bước cài Netdata qua kho APT và Docker Container
Bên cạnh việc dùng kickstart script, quản trị viên có thể triển khai Netdata thông qua hệ thống quản lý gói APT chính thức hoặc cô lập hoàn toàn môi trường bằng container.
Cách 1: Cài đặt thông qua kho APT Repository chính thức
Kho phần mềm mặc định của Ubuntu đôi khi giữ lại phiên bản Netdata đã cũ. Nhằm nhận được các bản vá lỗi và tính năng bảo mật mới, bạn nên khai báo repository do chính hãng Netdata phát hành qua Packagecloud:
curl -s https://packagecloud.io/install/repositories/netdata/netdata/script.deb.sh | sudo bash
sudo apt install netdata -y
sudo systemctl enable --now netdata
Cách 2: Triển khai Netdata trong Docker Container
Nếu hệ thống của bạn đã thực hiện cài đặt Docker Engine trên Ubuntu, việc chạy Netdata dưới dạng container sẽ tránh xung đột các gói thư viện vào hệ điều hành gốc. Để Netdata trong container đọc được số liệu từ máy chủ vật lý, bạn cần mount các phân vùng /proc, /sys và /etc của host:
docker run -d --name=netdata \
--pid=host \
--network=host \
-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 \
-v /etc/os-release:/host/etc/os-release:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
6. Cấu hình Netdata: quản lý dashboard, alerts và kênh thông báo
Tệp tin cấu hình gốc của Netdata nằm tại /etc/netdata/netdata.conf. Đội ngũ phát triển trang bị sẵn công cụ edit-config nhằm đảm bảo cú pháp không bị xáo trộn khi chỉnh sửa trực tiếp.
Giới hạn Netdata chỉ lắng nghe trên mạng nội bộ
Mở tệp cấu hình bằng tiện ích chuyên dụng:
sudo /etc/netdata/edit-config netdata.conf
Để ngăn người ngoài truy cập thẳng vào cổng 19999 khi máy chủ chưa có xác thực, hãy tìm khối [web] và đổi biến bind to trỏ về localhost:
[web]
bind to = 127.0.0.1
Thiết lập gửi cảnh báo (Health Alarm) về nhóm Telegram
Netdata hỗ trợ cảnh báo tự động qua Discord, Slack, Email và Telegram. Mở tệp thông báo cảnh báo bằng lệnh:
sudo /etc/netdata/edit-config health_alarm_notify.conf
Cuộn xuống phần cài đặt Telegram, điền Bot Token và ID phòng chat nhận thông báo:
# Kích hoạt tính năng cảnh báo Telegram
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="111111111:AAExampleTokenPlaceholder"
DEFAULT_RECIPIENT_TELEGRAM="-1001234567890"
Sau khi lưu file, bạn tiến hành khởi động lại tiến trình: sudo systemctl restart netdata. Khi máy chủ xảy ra tình trạng CPU quá tải, gần hết dung lượng ổ cứng hoặc bộ nhớ RAM vượt ngưỡng báo động, bot sẽ tự động gửi tin nhắn kèm thông tin chi tiết.

7. Thiết lập bảo mật cho Netdata Dashboard trên máy chủ Ubuntu
Netdata nguyên bản không tích hợp cơ chế đăng nhập tài khoản trực tiếp trên cổng 19999. Nếu để lộ cổng ra internet, bất kỳ ai cũng có thể đọc được cấu hình phần cứng và tiến trình hệ thống của bạn. Tuân thủ các biện pháp bảo mật VPS bằng cách khoanh vùng quyền truy cập là công việc mang tính bắt buộc.
Cách 1: Giới hạn IP truy cập thông qua UFW Firewall
Nếu bạn có IP mạng tĩnh cố định tại nhà hoặc văn phòng, hãy thiết lập tường lửa UFW để chỉ duy nhất IP quản trị mới kết nối được cổng 19999:
sudo ufw allow from 113.160.x.x to any port 19999 proto tcp
sudo ufw reload
Cách 2: Tạo Reverse Proxy bằng Nginx kèm mật khẩu xác thực
Mô hình an toàn nhất là bind Netdata về 127.0.0.1, sau đó dùng máy chủ web Nginx đứng ở mặt tiền làm proxy ngược và yêu cầu HTTP Basic Authentication.
Cài đặt Nginx cùng công cụ tạo mật khẩu mã hóa:
sudo apt install nginx apache2-utils -y
sudo htpasswd -c /etc/nginx/.netdata_auth admin
Tạo file cấu hình virtual host tại đường dẫn /etc/nginx/sites-available/netdata:
server {
listen 80;
server_name monitor.example.com;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
auth_basic "Netdata Protected Area";
auth_basic_user_file /etc/nginx/.netdata_auth;
}
}
Kích hoạt cấu hình site mới và nạp lại daemon Nginx:
sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
8. Hướng dẫn xử lý các sự cố thường gặp trong quá trình vận hành
Lỗi 1: Dịch vụ Netdata báo trạng thái Failed to start
Nguyên nhân: Thường bắt nguồn từ việc phân quyền sai tại thư mục cache/lib hoặc xung đột tiến trình trong lúc chạy script cài đặt.
Cách xử lý: Sử dụng lệnh systemd để kiểm tra log qua journalctl, sau đó thiết lập lại quyền sở hữu thư mục cho user netdata:
sudo journalctl -u netdata -e --no-pager
sudo chown -R netdata:netdata /var/cache/netdata /var/lib/netdata
sudo systemctl restart netdata
Lỗi 2: Trình duyệt không mở được giao diện Dashboard
Nguyên nhân: Cổng 19999 chưa được mở trên tường lửa máy chủ hoặc tiến trình Netdata chưa lắng nghe đúng card mạng công cộng.
Cách xử lý: Tiến hành kiểm tra các port đang lắng nghe bằng lệnh ss và gọi thử API nội bộ:
# Kiểm tra xem cổng 19999 có đang LISTEN không
ss -tlnp | grep 19999
# Kiểm tra phản hồi trực tiếp từ localhost
curl -I http://localhost:19999/api/v1/info
# Mở cổng UFW nếu bị chặn
sudo ufw allow 19999/tcp && sudo ufw reload
Lỗi 3: Netdata ngốn nhiều RAM trên VPS gói cấu hình thấp
Nguyên nhân: Mặc định công cụ cấp phát một lượng RAM lớn cho cơ chế dbengine nhằm lưu trữ chuỗi thời gian metric phục vụ việc cuộn lại lịch sử biểu đồ.
Cách xử lý: Điều chỉnh lại hạn mức lưu trữ đệm trong netdata.conf:
sudo /etc/netdata/edit-config netdata.conf
Tìm mục [db] và điều chỉnh dung lượng disk space cũng như page cache nhỏ lại:
[db]
mode = dbengine
dbengine multihost disk space MB = 256
page cache size MB = 32
Cuối cùng khởi động lại dịch vụ: sudo systemctl restart netdata để giải phóng ngay lập tức lượng RAM dư thừa.
Nắm vững cách cài netdata trên VPS giúp bạn làm chủ hoàn toàn trạng thái tài nguyên phần cứng máy chủ theo thời gian thực với độ trễ chỉ 1 giây. Việc kết hợp cấu hình cảnh báo sớm qua Telegram cùng lớp bảo mật proxy ngược Nginx sẽ tạo nên một hệ thống giám sát mạnh mẽ, khép kín và an toàn tuyệt đối. Hãy chủ động rà soát thông số máy chủ thường xuyên để có phương án tối ưu ứng dụng kịp thời trước khi sự cố phát sinh.
Cần một VPS giá rẻ để bắt đầu?
Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.
Lưu ý: Các câu lệnh và cấu hình hướng dẫn trong bài viết dựa trên môi trường thử nghiệm tiêu chuẩn và có thể thay đổi tùy thuộc vào phiên bản Ubuntu, hạ tầng mạng hoặc các cập nhật phần mềm mới từ nhà phát triển. Người quản trị nên thực hiện sao lưu dự phòng và kiểm tra kỹ lưỡng trước khi áp dụng vào các máy chủ đang chạy dịch vụ chính thức (production).



