Netdata – Giải pháp giám sát trạng thái hệ thống host-based Linux System

Netdata – Giải pháp giám sát trạng thái hệ thống host-based Linux System


netdata-banner

Netdata là một giải pháp mã nguồn mở của tổ chức Firehol được thiết kế hoạt động trên hệ thống Linux. Cung cấp chức năng chính là giám sát thời gian thực đối với nguồn tài nguyên và ứng dụng đang hoạt động trên hệ thống Linux.

Netdata vào thời điểm mới phát hành này, hiện chỉ có thể giám sát tài nguyên của máy chủ đã cài đặt Netdata (host-based system), chưa hỗ trợ giám sát từ xa.


Ưu điểm
 

– Dashboard bootstrap rất bắt mắt.
– Có thể tự điều chỉnh dashboard theo ý thích.
– Tốc độ nhanh và ổn định, viết bằng ngôn ngữ C, chiếm ít RAM.
– Không cần phải cấu hình gì cả, nếu bạn không có nhu cầu, netdata sẽ tự động cài đặt và bạn chỉ cần truy cập xem thông tin.
– Không phải phụ thuộc các nguồn hỗ trợ thư viện.
– Có thể mở rộng monitor thêm tài nguyên theo nhu cầu.


Netdata có thể giám sát những thông tin hệ thống như sau, mình chỉ liệt kê 1 vài cái cơ bản kèm một số hình ảnh minh hoạ (nếu có) :

– CPU usage, interrupts, softirqs và frequency
– RAM, swap and kernel lượng sử dụng .
– Disk I/O. (Hình minh hoạ)

netdata-io

– Traffic đi qua các cổng mạng. (Hình minh hoạ)

netdata-traffic

– Tưởng lửa netfilter / iptables Linux .

– Các ứng dụng trên hệ thống (CPU, memory, swap, disk reads/writes, threads,..)
– (…. còn nhiều)


Đánh giá cá nhân

– Netdata không dùng để giám sát các máy chủ remote, mà dùng để giám sát máy chủ mà nó được cài đặt và chạy trên máy chủ đó.
– Rất chi tiết về các thành phần thông tin tài nguyên hệ thống đang sử dụng.
– Thông tin liệt kê trực quan, có thể lưu trữ dữ liệu đã giám sát trong khoản thời gian do quản trị viên quy định.
– Các bạn cài đặt và trải nghiệm riêng đi nhé.


1. Cài đặt các gói chương trình cần thiết

– Trước khi bạn cài đặt công cụ giám sát tài nguyên “netdata“, bạn cần đảm bảo các công cụ cơ bản của hệ thống Linux để “netdata” có thể sử dụng để tự động cài đặt chương trình vào hệ thống.

+ Debian / Ubuntu

# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config sysstat

+ Centos / Redhat / Fedora

# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig sysstat


2. Tiến hành cài đặt “netdata”

– Ta sẽ tải source từ trang chủ chính thức của Firehol và tiến hành compile (nếu phiên bản ở bài viết này khác hoặc không tìm thấy thì bạn cứ chủ động vào link sau tìm phien bản mới nhất) : https://firehol.org/download/netdata/latest/

# cd /usr/local/src
# wget -O /usr/local/src/netdata-1.2.0.tar.gz https://firehol.org/download/netdata/latest/netdata-1.2.0.tar.gz
# tar xvf /usr/local/src/netdata-1.2.0.tar.gz
# cd netdata-1.2.0
# ./netdata-installer.sh

– Script “netdata-installer.sh” sẽ cài đặt chương trình netdata lên hệ thống Linux của bạn. Sau khi hoàn tất, file cấu hình cho hoạt động chương trình “netdata” sẽ xuất hiện ở đường dẫn “/etc/netdata/netdata.conf“.
– Bạn có thể cấu hình các hoạt động cơ bản của “netdata” bằng file cấu hình đó.


3. Khởi động chương trình

– Chạy chương trình netdata để khởi động hệ thống giám sát tài nguyên “netdata”.

# /usr/sbin/netdata


– Dừng chương trình bằng cách kill hết tiến trình chạy bởi user netdata.

# killall netdata


– Khởi tạo file init nếu bạn muốn chạy dưới dạng dịch vụ nho nhỏ. Mình cũng cung cấp cho các bạn file init script cho netdata :

# wget -O /etc/init.d/netdata https://cuongquach.com/download/shellscripts/sys/netdata-init.txt
# chmod 700 /etc/init.d/netdata


– Tắt mở chương trình bằng init script của mình.

# /etc/init.d/netdata start
# /etc/init.d/netdata start


4. Truy cập chương trình Netdata

– Sau khi bạn khởi động chương trình, mặc định chương trình netdata sẽ lắng nghe trên tất cả IP interface và lắng nghe ở port 19999.
– Giờ ta sẽ truy cập thông qua IP public và port tương ứng trên trình duyệt.

# http://192.168.1.100:19999/


5. Lưu ý

– Các thông số cấu hình của chương trình, bạn có thể thay đổi trực tiếp ở file “/etc/netdata/netdata.conf“.
– Bạn có thể cấu hình Virtual Host trên web server và proxy chuyển dữ liệu đến port đang chạy ứng dụng web server “netdata” để lấy dữ liệu.

Các ơn các bạn đã theo dõi.

Previous article[Nginx] Cấu hình trang trạng thái Nginx – Nginx status page
Next article[Linux] Fix lỗi “There are unfinished transactions remaining” khi cài đặt chương trình bằng yum
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !