Cách giám sát lưu lượng mạng bằng vnStat trên Ubuntu 22.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. Hướng dẫn này 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.

Tính năng
  • Giám sát nhiều giao diện cùng lúc.
  • Cung cấp một số tùy chọn đầu ra, chẳng hạn như theo ngày, theo tuần, v.v.
  • Sắp xếp dữ liệu theo giờ, ngày, tháng hoặc tuần hoặc lấy 10 ngày hàng đầu.
  • Cho phép bạn tạo đầu ra ở định dạng hình ảnh.
  • Giám sát nhiều giao diện mạng cùng lúc.
  • Nhẹ và sử dụng CPU thấp.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và sử dụng công cụ VnStat để giám sát lưu lượng mạng trên Ubuntu 22.04.

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

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

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật và nâng cấp tất cả các gói hệ thống lên phiên bản mới nhất. Bạn có thể cập nhật tất cả chúng bằng lệnh sau:
Mã:
apt update -y
apt upgrade -y
Sau khi tất cả các gói được cập nhật, bạn có thể cài đặt VnStat từ nguồn ở bước tiếp theo.

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.10.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 lệnh:
Mã:
tar -xvzf vnstat-2.10.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 nó bằng lệnh sau:
Mã:
cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etc
Tiếp theo, hãy cài đặt vnStat bằng cách chạy lệnh sau lệnh:
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 thông báo sau đầu ra:
Mã:
vnStat 2.10 by Teemu Toivola
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Sử dụng Systemd để quản lý VnStat​

Để quản lý VnStat bằng systemd, bạn sẽ cần sao chép tệp dịch vụ systemd vnStat từ nguồn vnStat vào /etc/systemd/system/ thư mục:
Mã:
cp -v vnstat-2.10/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ể kiểm tra trạng thái của dịch vụ vnStat bằng cách sử dụng lệnh sau lệnh:
Mã:
systemctl status vnstat
Bạn sẽ nhận được kết quả sau:
Mã:
? vnstat.service - vnStat network traffic monitor Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago Docs: man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5) Main PID: 1730 (vnstatd) Tasks: 1 (limit: 4915) CGroup: /system.slice/vnstat.service ??1730 /usr/sbin/vnstatd -n
Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cách giám sát lưu lượng mạng bằng vnStat​

vnStat cung cấp một số tùy chọn cho phép bạn để theo dõi 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.10 by Teemu Toivola  -5, --fiveminutes [limit] show 5 minutes -h, --hours [limit] show hours -hg, --hoursgraph show hours graph -d, --days [limit] show days -m, --months [limit] show months -y, --years [limit] show years -t, --top [limit] show top days -b, --begin  set list begin date -e, --end  set list end date --oneline [mode] show simple parsable format --json [mode] [limit] show database in json format --xml [mode] [limit] show database in xml format -tr, --traffic [time] calculate traffic -l, --live [mode] show transfer rate in real time -i, --iface  select interface
Use "--longhelp" or "man vnstat" for complete list of options.
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 đầu ra sau:
Mã:
rx / tx / total / estimated wlp22s0: Oct '22 17.80 GiB / 4.35 GiB / 22.15 GiB Nov '22 16.61 GiB / 3.62 GiB / 20.23 GiB / 21.48 GiB yesterday 332.22 MiB / 114.17 MiB / 446.39 MiB today 710.25 MiB / 44.85 MiB / 755.11 MiB / 1.55 GiB
Để sử dụng giao diện mạng cụ thể, hãy sử dụ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 đầu ra sau:
Mã:
Database updated: 2020-11-12 06:30:00 ens3 since Saturday 29 January 2022 rx: 185.89 GiB tx: 38.82 GiB total: 224.70 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Oct '22 17.80 GiB | 4.35 GiB | 22.15 GiB | 71.04 kbit/s Nov '22 16.61 GiB | 3.62 GiB | 20.23 GiB | 71.20 kbit/s ------------------------+-------------+-------------+--------------- estimated 17.64 GiB | 3.85 GiB | 21.48 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 332.22 MiB | 114.17 MiB | 446.39 MiB | 43.34 kbit/s today 710.25 MiB | 44.85 MiB | 755.11 MiB | 154.31 kbit/s ------------------------+-------------+-------------+--------------- estimated 1.46 GiB | 92 MiB | 1.55 GiB |
Để hiển thị số liệu thống kê hàng giờ, hãy chạy lệnh sau lệnh:
Mã:
vnstat -h
Bạn sẽ nhận được kết quả sau:
Mã:
ens3 / hourly h rx (MiB) tx (MiB) ][ h rx (MiB) tx (MiB) ][ h rx (MiB) tx (MiB)
12 5.4 0.2 ][ 20 30.4 14.8 ][ 04 0.0 0.0
13 72.7 15.0 ][ 21 24.8 6.4 ][ 05 0.0 0.0
14 1.9 0.4 ][ 22 20.1 9.8 ][ 06 0.0 0.0
15 0.0 0.0 ][ 23 0.0 0.0 ][ 07 0.0 0.0
16 0.0 0.0 ][ 00 0.0 0.0 ][ 08 147.0 10.2
17 36.4 9.6 ][ 01 0.0 0.0 ][ 09 64.1 9.4
18 54.0 23.4 ][ 02 0.0 0.0 ][ 10 496.9 23.9
19 86.5 34.5 ][ 03 0.0 0.0 ][ 11 2.3 1.3
Để hiển thị số liệu thống kê hàng ngày, hãy chạy lệnh sau lệnh:
Mã:
vnstat -d
Bạn sẽ nhận được kết quả sau:
Mã:
ens3 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sunday 30 October 2022 266.75 MiB | 47.81 MiB | 314.56 MiB | 30.54 kbit/s Monday 31 October 2022 701.49 MiB | 225.89 MiB | 927.38 MiB | 90.04 kbit/s Tuesday 01 November 2022 506.20 MiB | 184.50 MiB | 690.70 MiB | 67.06 kbit/s Wednesday 02 November 2022 631.15 MiB | 182.43 MiB | 813.59 MiB | 78.99 kbit/s Thursday 03 November 2022 189.21 MiB | 41.18 MiB | 230.39 MiB | 22.37 kbit/s Friday 04 November 2022 703.67 MiB | 175.49 MiB | 879.16 MiB | 85.36 kbit/s Saturday 05 November 2022 518.96 MiB | 130.47 MiB | 649.43 MiB | 63.05 kbit/s Sunday 06 November 2022 301.74 MiB | 81.95 MiB | 383.69 MiB | 37.25 kbit/s
Bạn có thể sử dụng tùy chọn -t để hiển thị lưu lượng truy cập hàng đầu ngày:
Mã:
vnstat -t
Bạn sẽ nhận được kết quả sau:
Mã:
ens3 / top 1 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- 1 Thursday 03 February 2022 2.58 GiB | 214.64 MiB | 2.79 GiB | 277.76 kbit/s 2 Saturday 05 February 2022 2.11 GiB | 229.32 MiB | 2.33 GiB | 231.67 kbit/s 3 Tuesday 01 February 2022 1.81 GiB | 190.56 MiB | 2.00 GiB | 198.71 kbit/s 4 Wednesday 02 February 2022 1.80 GiB | 179.75 MiB | 1.98 GiB | 196.72 kbit/s 5 Sunday 10 July 2022 1.69 GiB | 248.34 MiB | 1.93 GiB | 192.21 kbit/s 6 Saturday 19 February 2022 1.56 GiB | 172.67 MiB | 1.73 GiB | 171.56 kbit/s 7 Friday 16 September 2022 1.44 GiB | 201.21 MiB | 1.64 GiB | 163.16 kbit/s 8 Friday 17 June 2022 1.34 GiB | 278.89 MiB | 1.61 GiB | 160.33 kbit/s 9 Friday 25 March 2022 1.06 GiB | 504.19 MiB | 1.55 GiB | 154.51 kbit/s 10 Monday 07 February 2022 1.30 GiB | 160.68 MiB | 1.46 GiB | 145.30 kbit/s -----------------------------+-------------+-------------+---------------
Để 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 lệnh:
Mã:
vnstat -l
Bạn sẽ nhận được kết quả sau:
Mã:
Monitoring ens3... (press CTRL-C to stop) rx: 11 kbit/s 7 p/s tx: 9 kbit/s 6 p/s^C ens3 / traffic statistics rx | tx
--------------------------------------+------------------ bytes 17 KiB | 18 KiB
--------------------------------------+------------------ max 24 kbit/s | 33 kbit/s average 6.78 kbit/s | 7.39 kbit/s min 0 kbit/s | 0 kbit/s
--------------------------------------+------------------ packets 78 | 82
--------------------------------------+------------------ max 10 p/s | 11 p/s average 3 p/s | 4 p/s min 0 p/s | 0 p/s
--------------------------------------+------------------ time 20 seconds
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 thông báo sau đầu ra:
Mã:
Interface "ens3" removed from database.
The interface will no longer be monitored. Use --add
if monitoring the interface is again needed.
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 thông báo sau đầu ra:
Mã:
Adding interface "ens3" for monitoring to database...
Restart the vnStat daemon if it is currently running in order to start monitoring "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 bài đăng này, chúng tôi đã giải thích cách cài đặt vnStat trên Ubuntu 22.04. Chúng tôi cũng chỉ cho bạn cách sử dụng nó để theo dõi lưu lượng mạng thông qua một số ví dụ. Bây giờ bạn có thể sử dụng công cụ này để 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