Muốn lấy được các số liệu thống kê mạng trên máy tính Linux không phải là một điều khó khăn. Với các công cụ như sar, Iperf và vnStat cho các phân phối gần đây,… người dùng có thể có được các số liệu đó qua một vài lệnh hữu dụng. vnStat là một trong số các công cụ như vậy và đó chính là công cụ được chúng tôi giới thiệu trong bài. Công cụ ghi chép mạng phổ biến, vnStat, khá khác với các bộ đánh hơi mạng khác như Wireshark vì nó thu nhận các thống kê giao diện mạng vào và ra khỏi nhân kernel. Nói theo cách khác, Wireshark chỉ kiểm tra các gói đến và đi ra khỏi máy. vnstat lệnh là một màn hình giao diện giám sát lưu lượng mạng. Nó giữ một log lưu lượng mạng hàng giờ, hằng ngày và hàng tháng cho các giao diện lựa chọn(s). Tuy nhiên, nó không phải là một gói sniffer. Các thông tin lưu lượng được phân tích từ hệ thống tập tin proc. Đó là cách vnStat có thể được sử dụng ngay mà không cần quyền root. Cài đặt Đầu tiên, bật EPEL repo. Gõ lệnh yum sau để cài đặt vnstat: Mã: yum install vnstat Ví dụ kết quả đầu ra: Mã: Loaded plugins: auto-update-debuginfo, product-id, protectbase, rhnplugin, : subscription-manager Updating certificate-based repositories. Unable to read consumer identity 0 packages excluded due to repository protections Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package vnstat.x86_64 0:1.11-1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved [B]=[/B]=============================================================================== Package Arch Version Repository Size [B]=[/B]=============================================================================== Installing: vnstat x86_64 1.11-1.el6 epel 102 k Transaction Summary [B]=[/B]=============================================================================== Install 1 Package(s) Total download size: 102 k Installed size: 283 k Is this ok [B][y/N][/B]: y Downloading Packages: vnstat-1.11-1.el6.x86_64.rpm | 102 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : vnstat-1.11-1.el6.x86_64 1/1 Installed products updated. Verifying : vnstat-1.11-1.el6.x86_64 1/1 Installed: vnstat.x86_64 0:1.11-1.el6 Complete! Cấu hình Chỉnh sửa /etc sysconfig/vnstat, hãy nhập: Mã: vi /etc/sysconfig/vnstat Ví dụ kết quả đầu ra: Mã: VNSTAT_OPTIONS="-u -i eth0" Sửa /etc/vnstat.conf, hãy nhập: Mã: vi /etc/vnstat.conf Thiết lập interface mặc định đến eth1: Mã: Interface "eth1" Thiết lập các tùy chọn phù hợp với hệ thống của bạn. Lưu lại và đóng tập tin. Tạo cơ sở dữ liệu Bạn cần phải chạy lệnh sau đây để tạo ra các cơ sở dữ liệu. Nhưng, đầu tiên thiết lập vnstat shell tới /bin/bash sử dụng lệnh chsh: Mã: chsh -s /bin/bash vnstat grep --color vnstat /etc/passwd id vnstat Điều này thường là lệnh đầu tiên sử dụng sau khi cài đặt mới. Sử dụng lệnh runuser để tạo ra cơ sở dữ liệu cho interface eth0: Mã: runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth0' Để tạo cơ sở dữ liệu cho interface eth1, chạy: Mã: runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth1' Hãy chắc chắn rằng user vnstat không thể đăng nhập nghĩa là từ chối đăng nhập cho user vnstat: Mã: chsh -s /sbin/nologin vnstat grep --color vnstat /etc/passwd id vnstat Bắt đầu dịch vụ vnstat Gõ lệnh chkconfig sau để bật dịch vụ vnstat vào lúc khởi động: Mã: chkconfig vnstat on Để bắt đầu/dừng/khởi động lại và xem trạng thái dịch vụ vnstart, chạy các lệnh sau: Mã: service vnstat start service vnstat stop service vnstat restart service vnstat status Làm thế nào để xem số liệu thống kê? Cú pháp là: Mã: vnstat vnstat -i {interface} vnstat -i {interface} -option vnstat -i {interface} -option1 -option2 Mã: vnstat Ví dụ kết quả đầu ra: Mã: rx / tx / total / estimated eth1: Oct '12 76.68 GiB / 635.07 GiB / 711.74 GiB Nov '12 31.14 GiB / 186.98 GiB / 218.12 GiB / 352.45 GiB yesterday 1.35 GiB / 11.32 GiB / 12.67 GiB today 1.34 GiB / 8.82 GiB / 10.16 GiB / 19.37 GiB eth0: Oct '12 629.87 GiB / 91.10 GiB / 720.97 GiB Nov '12 181.99 GiB / 35.38 GiB / 217.37 GiB / 351.24 GiB yesterday 11.25 GiB / 1.70 GiB / 12.95 GiB today 8.76 GiB / 1.60 GiB / 10.36 GiB / 19.76 GiB Để xem số liệu thống kê eth0, hãy nhập: Mã: vnstat -i eth0 Để xem số liệu thống kê hằng ngày cho eth0, hãy nhập: Mã: vnstat -i eth0 -d Ví dụ kết quả đầu ra: Mã: eth0 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 10/21/12 13.48 GiB | 1.80 GiB | 15.28 GiB | 1.48 Mbit/s 10/22/12 24.06 GiB | 3.44 GiB | 27.51 GiB | 2.67 Mbit/s 10/23/12 23.95 GiB | 3.45 GiB | 27.40 GiB | 2.66 Mbit/s 10/24/12 22.81 GiB | 3.30 GiB | 26.11 GiB | 2.53 Mbit/s 10/25/12 25.11 GiB | 3.48 GiB | 28.59 GiB | 2.78 Mbit/s 10/26/12 22.24 GiB | 3.01 GiB | 25.25 GiB | 2.45 Mbit/s 10/27/12 12.13 GiB | 1.67 GiB | 13.80 GiB | 1.34 Mbit/s 10/28/12 9.65 GiB | 1.67 GiB | 11.33 GiB | 1.10 Mbit/s 10/29/12 17.04 GiB | 3.13 GiB | 20.17 GiB | 1.96 Mbit/s 10/30/12 18.14 GiB | 3.18 GiB | 21.32 GiB | 2.07 Mbit/s 10/31/12 17.45 GiB | 3.05 GiB | 20.51 GiB | 1.99 Mbit/s 11/01/12 14.64 GiB | 2.74 GiB | 17.38 GiB | 1.69 Mbit/s 11/02/12 13.66 GiB | 2.51 GiB | 16.17 GiB | 1.57 Mbit/s 11/03/12 7.62 GiB | 1.34 GiB | 8.96 GiB | 870.25 kbit/s 11/04/12 5.63 GiB | 1.14 GiB | 6.77 GiB | 656.98 kbit/s 11/05/12 9.34 GiB | 2.08 GiB | 11.42 GiB | 1.11 Mbit/s 11/06/12 9.85 GiB | 2.13 GiB | 11.98 GiB | 1.16 Mbit/s 11/07/12 9.91 GiB | 2.14 GiB | 12.05 GiB | 1.17 Mbit/s 11/08/12 9.76 GiB | 2.12 GiB | 11.88 GiB | 1.15 Mbit/s 11/09/12 8.47 GiB | 1.81 GiB | 10.28 GiB | 998.23 kbit/s 11/10/12 5.54 GiB | 1.05 GiB | 6.58 GiB | 639.28 kbit/s 11/11/12 5.92 GiB | 1.12 GiB | 7.03 GiB | 682.98 kbit/s 11/12/12 8.74 GiB | 1.93 GiB | 10.67 GiB | 1.04 Mbit/s 11/13/12 8.77 GiB | 1.95 GiB | 10.72 GiB | 1.04 Mbit/s 11/14/12 8.93 GiB | 2.00 GiB | 10.93 GiB | 1.06 Mbit/s 11/15/12 10.53 GiB | 2.13 GiB | 12.65 GiB | 1.23 Mbit/s 11/16/12 13.58 GiB | 2.31 GiB | 15.89 GiB | 1.54 Mbit/s 11/17/12 11.09 GiB | 1.60 GiB | 12.70 GiB | 1.23 Mbit/s 11/18/12 11.25 GiB | 1.70 GiB | 12.95 GiB | 1.26 Mbit/s 11/19/12 8.81 GiB | 1.61 GiB | 10.42 GiB | 1.92 Mbit/s ------------------------+-------------+-------------+--------------- estimated 16.69 GiB | 3.06 GiB | 19.74 GiB | Để xem các thống kê mạng hàng giờ, hãy nhập: Mã: vnstat -i eth0 -h Để xem các thống kê mạng hàng tháng, hãy nhập: Mã: vnstat -i eth0 -m Để xem các thống kê mạng hàng tuần, hãy nhập: Mã: vnstat -i eth0 -w Để xem top 10 số liệu thống kê mạng, hãy nhập: Mã: vnstat -t vnstat -i eth0 -t Để xem dạng ngắn của số liệu thống kê: Mã: vnstat -i eth0 -s Để tính toán lưu lượng, hãy nhập: Mã: vnstat -i eth0 -tr Ví dụ kết quả đầu ra: Mã: 2038 packets sampled in 5 seconds Traffic average for eth0 rx 1.08 Mbit/s 202 packets/s tx 273.60 kbit/s 204 packets/s Để xem tốc độ truyền tải trong thời gian thực cho eth0, hãy nhập: Mã: vnstat -i eth0 -l