Giám sát lưu lượng mạng với vnStat trên Ubuntu 20.04

theanh

Administrator
Nhân viên
vnStat là một công cụ giám sát lưu lượng mạng miễn phí, mã nguồn mở và dựa trên bảng điều khiển dành cho hệ điều hành Linux. Với vnStat, bạn có thể giám sát số liệu thống kê mạng trong nhiều khoảng thời gian khác nhau. Công cụ này đơn giản, nhẹ và chỉ chiếm một phần nhỏ tài nguyên hệ thống của bạn. vnStat cho phép bạn tạo dữ liệu lưu lượng mạng trong một giờ, một ngày, một tháng, một tuần và một ngày.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và sử dụng vnStat để giám sát lưu lượng mạng.

Điều kiện tiên quyết​

  • Máy chủ chạy Ubuntu 20.04.
  • Máy chủ được cấu hình mật khẩu gốc.

Cài đặt vnStat​

Theo mặc định, phiên bản mới nhất của vnStat không có trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần biên dịch nó từ nguồn.

Trước tiên, hãy cài đặt tất cả các phần phụ thuộc cần thiết để biên dịch vnStat bằng lệnh sau:
Mã:
apt-get install build-essential gcc make libsqlite3-dev -y
Sau khi tất cả các phần phụ thuộc đã được cài đặt, hãy tải xuống phiên bản mới nhất của nguồn vnStat bằng lệnh sau:
Mã:
wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf vnstat-2.6.tar.gz
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và cấu hình bằng lệnh sau:
Mã:
cd vnstat-2.6
./configure --prefix=/usr --sysconfdir=/etc
Tiếp theo, hãy cài đặt vnStat bằng cách chạy lệnh sau:
Mã:
make
make install
Sau khi vnStat được cài đặt, bạn có thể xác minh phiên bản vnStat đã cài đặt bằng lệnh sau:
Mã:
vnstat -v
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
vnStat 2.6 của Teemu Toivola
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Quản lý Dịch vụ vnStat​

Tiếp theo, bạn sẽ cần sao chép Tệp dịch vụ systemd vnStat từ nguồn vnStat đến thư mục /etc/systemd/system/:
Mã:
cp -v vnstat-2.6/examples/systemd/vnstat.service /etc/systemd/system/
Tiếp theo, bật dịch vụ vnStat và khởi động bằng lệnh sau:
Mã:
systemctl enable vnstat
systemctl start vnstat
Bạn cũng có thể xác minh trạng thái của dịch vụ vnStat bằng lệnh sau:
Mã:
systemctl status vnstat
Bạn sẽ nhận được kết quả sau:
Mã:
? vnstat.service - trình giám sát lưu lượng mạng vnStat Đã tải: đã tải (/etc/systemd/system/vnstat.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thu 2020-11-12 06:24:01 UTC; 11 giây trước Tài liệu: man:vnstatd(8) man:vnstat(1) man:vnstat.conf(5) PID chính: 20989 (vnstatd) Nhiệm vụ: 1 (giới hạn: 4701) Bộ nhớ: 1,5M CGroup: /system.slice/vnstat.service ??20989 /usr/sbin/vnstatd -n12-11 06:24:01 Ubuntu systemd[1]: Đã khởi động trình giám sát lưu lượng mạng vnStat.12-11 06:24:01 Ubuntu vnstatd[20989]: Không tìm thấy giao diện nào trong cơ sở dữ liệu, đang thêm giao diện khả dụng...12-11 06:24:01 Ubuntu vnstatd[20989]: Giao diện "ens3" được thêm vào với giới hạn băng thông 1000 Mbit.Nov 12 06:24:01 Ubuntu vnstatd[20989]: Giao diện "ens4" được thêm vào với giới hạn băng thông 1000 Mbit.Nov 12 06:24:01 Ubuntu vnstatd[20989]: -> Đã tìm thấy 2 giao diện mới.Nov 12 06:24:01 Ubuntu vnstatd[20989]: Có thể sửa đổi giới hạn bằng tệp cấu hình. Xem "man vnstat.conf".Nov 12 06:24:01 Ubuntu vnstatd[20989]: Có thể xóa các giao diện không mong muốn khỏi mục giám sát bằng "vnstat --remove".Nov 12 06:24:01 Ubuntu vnstatd[20989]: Thông tin: daemon vnStat 2.6 đã bắt đầu. (pid:20989 uid:0 gid:0 64-bit)12 tháng 11 06:24:01 Ubuntu vnstatd[20989]: Thông tin: Giám sát (2): ens4 (1000 Mbit) ens3 (1000 Mbit)
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Làm việc với vnStat​

vnStat đi kèm với một số tùy chọn giúp bạn giám sát lưu lượng mạng. Bạn có thể liệt kê tất cả các tùy chọn khả dụng bằng lệnh sau:
Mã:
vnstat --help
Bạn sẽ nhận được kết quả sau:
Mã:
vnStat 2.6 của Teemu Toivola  -5, --fiveminutes [giới hạn] hiển thị 5 phút -h, --hours [giới hạn] hiển thị giờ -hg, --hoursgraph hiển thị giờ đồ thị -d, --days [giới hạn] hiển thị ngày -m, --months [giới hạn] hiển thị tháng -y, --years [giới hạn] hiển thị năm -t, --top [giới hạn] hiển thị ngày cao nhất -b, --begin  đặt ngày bắt đầu danh sách -e, --end  đặt ngày kết thúc danh sách --oneline [chế độ] hiển thị định dạng có thể phân tích cú pháp đơn giản --json [chế độ] [giới hạn] hiển thị cơ sở dữ liệu ở định dạng json --xml [chế độ] [giới hạn] hiển thị cơ sở dữ liệu ở định dạng xml -tr, --traffic [thời gian] tính toán lưu lượng truy cập -l, --live [chế độ] hiển thị tốc độ truyền tải theo thời gian thực -i, --iface  chọn giao diệnSử dụng "--longhelp" hoặc "man vnstat" để biết danh sách đầy đủ tùy chọn.
Trước khi sử dụng vnStat, bạn sẽ cần đợi một thời gian để cập nhật cơ sở dữ liệu vnStat. Sau khi cập nhật cơ sở dữ liệu, bạn có thể chạy vnStat mà không cần bất kỳ tùy chọn nào như được hiển thị bên dưới:
Mã:
vnstat
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
rx / tx / total / estimate ens3: 2020-11 164,83 KiB / 495,17 KiB / 660,01 KiB / -- today 164,83 KiB / 495,17 KiB / 660,01 KiB / 2,38 MiB
Bạn cũng có thể chỉ định giao diện mạng cụ thể bằng tùy chọn -i như được hiển thị bên dưới:
Mã:
vnstat -i ens3
Bạn sẽ nhận được số liệu thống kê hàng ngày và hàng tháng trong kết quả đầu ra sau:
Mã:
Database updated: 2020-11-12 06:30:00 ens3 since 2020-11-12 rx: 164,83 KiB giao dịch: 495,17 KiB tổng cộng: 660,01 KiB đơn hàng tháng | giao dịch | tổng | tỷ lệ trung bình ------------------------+-------------+------------------ 2020-11 164,83 KiB | 495,17 KiB | 660,01 KiB | 5 bit/giây ------------------------+-------------+--------------- ước tính -- | -- | -- | đơn hàng ngày | giao dịch | tổng | tỷ lệ trung bình ------------------------+-------------+--------------- hôm nay 164,83 KiB | 495,17 KiB | 660,01 KiB | 231 bit/giây ------------------------+-------------+--------------- ước tính 608 KiB | 1,79 MiB | 2,38 MiB |
Để hiển thị số liệu thống kê hàng giờ, hãy chạy lệnh sau:
Mã:
vnstat -h
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
ens3 / hourly hour rx | tx | total | avg. rate ------------------------+-------------+---------------+--------------- 2020-11-12 06:00 164,83 KiB | 495,17 KiB | 660,01 KiB | 3,00 kbit/s ------------------------+-------------+---------------
Để hiển thị số liệu thống kê hàng ngày, hãy chạy lệnh sau:
Mã:
vnstat -d
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
ens3 / daily day rx | tx | total | avg. tỷ lệ -------------------------+-------------+------------------ 2020-11-12 164,83 KiB | 495,17 KiB | 660,01 KiB | 231 bit/giây -------------------------+---------------+--------------- ước tính 608 KiB | 1,79 MiB | 2,38 MiB |
Bạn có thể sử dụng tùy chọn -t để hiển thị những ngày có lưu lượng truy cập cao nhất:
Mã:
vnstat -t
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
ens3 / top 1 # day rx | tx | total | avg. rate -----------------------------+--------------------------+--------------- > 1 2020-11-12 164,83 KiB | 495,17 KiB | 660,01 KiB | 62 bit/giây
Để hiển thị số liệu thống kê lưu lượng mạng theo thời gian thực, hãy chạy lệnh sau:
Mã:
vnstat -l
Bạn sẽ nhận được kết quả sau:
Mã:
Giám sát ens3... (nhấn CTRL-C để dừng) rx: 1,31 kbit/giây 2 p/giây tx: 1,49 kbit/giây 1 p/giây^C ens3 / số liệu thống kê lưu lượng rx | tx---------------------------------------------------+------------------ byte 3,75 KiB | 5,42 KiB---------------------------------------------------+------------------ tối đa 6,55 kbit/giây | 11,17 kbit/giây trung bình 1,53 kbit/giây | 2,22 kbit/giây tối thiểu 264 bit/giây | 264 bit/giây---------------------------------------------------+------------------ gói 41 | 37---------------------------------------------------+------------------ tối đa 7 p/giây | 8 p/s trung bình 2 p/s | 1 p/s phút 0 p/s | 0 p/s--------------------------------------+------------------ thời gian 20 giây
Bạn cũng có thể xóa các mục nhập cơ sở dữ liệu cho giao diện ens3 và dừng giám sát bằng lệnh sau:
Mã:
vnstat -i ens3 --remove --force
Bạn sẽ nhận được kết quả sau:
Mã:
Giao diện "ens3" đã bị xóa khỏi cơ sở dữ liệu.Giao diện sẽ không còn được giám sát nữa. Sử dụng --addnếu cần giám sát lại giao diện.
Bạn cũng có thể thêm lại giao diện ens3 đã xóa bằng cách chạy lệnh sau:
Mã:
vnstat -i ens3 --add
Bạn sẽ nhận được kết quả sau:
Mã:
Đang thêm giao diện "ens3" để giám sát vào cơ sở dữ liệu...Khởi động lại daemon vnStat nếu hiện tại nó đang chạy để bắt đầu giám sát "ens3".
Tiếp theo, khởi động lại dịch vụ vnStat để áp dụng các thay đổi:
Mã:
systemctl restart vnstat

Kết luận​

Trong hướng dẫn trên, bạn đã học cách cài đặt vnStat và sử dụng nó để giám sát lưu lượng mạng. Tôi hy vọng công cụ này sẽ giúp bạn phân tích và khắc phục sự cố liên quan đến mạng. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên