Giám sát lưu lượng mạng không chỉ giúp quản trị viên phát hiện nguyên nhân gốc rễ của các vấn đề liên quan đến giao thông, như quá tải mạng, mà còn giúp họ giữ một tab lưu lượng truy cập đến và đi từ Internet. Nhìn chung, đó là một nhiệm vụ quan trọng đòi hỏi một phần mềm chuyên dụng và hiệu quả.

Đối với Linux, có rất nhiều công cụ giám sát lưu lượng mạng dựa trên GUI, nhưng nếu bạn đang tìm kiếm một tiện ích dựa trên dòng lệnh, vnstat đáng để thử. Trong bài viết này, chúng tôi sẽ thảo luận về các vấn đề cơ bản của lệnh cùng với các tính năng mà nó cung cấp.

Giới thiệu

vnStat là một công cụ giám sát lưu lượng mạng dựa trên dòng lệnh có sẵn cho Linux cũng như BSD. Nó lưu nhật ký lưu lượng mạng cho các giao diện đã chọn và sử dụng số liệu thống kê giao diện mạng được cung cấp bởi hạt nhân làm nguồn thông tin, có nghĩa là nó nhẹ trên tài nguyên hệ thống vì nó không thực sự đánh cắp lưu lượng. Tuy nhiên, để lệnh chạy đúng cách, yêu cầu ít nhất một hạt nhân 2.2.

Dưới đây là một số tính năng mà nó cung cấp:

  • Thống kê nó tập hợp vẫn tồn tại thông qua khởi động lại hệ thống
  • Nó có thể giám sát nhiều giao diện tại bất kỳ thời điểm nào
  • Nó cung cấp một số tùy chọn đầu ra: tóm tắt, hàng giờ, hàng ngày, hàng tháng, hàng tuần và 10 ngày đầu
  • Có thể định cấu hình tháng để theo dõi thời hạn thanh toán
  • Nó cung cấp một tùy chọn để tạo ra đầu ra dưới dạng hình ảnh png
  • Đó là ánh sáng trên tài nguyên hệ thống
  • Nó có thể được sử dụng mà không có quyền root

Tải xuống và cài đặt

Người dùng các bản phân phối Linux dựa trên Debian, như Ubuntu, có thể dễ dàng tải xuống và cài đặt tiện ích bằng cách sử dụng lệnh sau:

 sudo apt-get cài đặt vnstat 

Ngoài ra, bạn cũng có thể tải xuống gói nguồn của lệnh từ trang web chính thức và cài đặt theo cách thủ công.

Ví dụ sử dụng

Dưới đây là một số ví dụ về cách lệnh vnstat có thể được sử dụng:

Lưu ý : tất cả các ví dụ được trình bày trong bài viết này đều được thử nghiệm trên Ubuntu 14.04.

Đầu ra mặc định

Nếu bạn chạy lệnh vnstat mà không có bất kỳ tùy chọn dòng lệnh nào, nó sẽ hiển thị báo cáo hàng tháng và hàng ngày về hoạt động mạng. Đây là đầu ra lệnh được tạo trên hệ thống của tôi:

 vnstat 

Rõ ràng từ dòng đầu tiên trong đầu ra, vnstat cập nhật một số loại cơ sở dữ liệu trước khi tạo ra bất kỳ đầu ra nào khác. Đây là cơ sở dữ liệu tương tự (tương ứng với giao diện mạng) mà tiện ích được tạo khi bạn cài đặt nó:

Cơ sở dữ liệu được tạo ra với cùng tên với giao diện đang được giám sát ( eth0 trong trường hợp này) và được lưu trữ dưới dạng tệp tin FPT trong thư mục /var/lib/vnstat/ .

Hiển thị lưu lượng truy cập hàng giờ, hàng ngày, hàng tuần và hàng tháng

Lệnh này cung cấp các tùy chọn dòng lệnh để hiển thị theo giờ và hàng ngày, cũng như hoạt động mạng hàng tháng. Ví dụ, để hiển thị lưu lượng theo giờ, sử dụng tùy chọn -h dòng lệnh:

 vnstat -h 

Để hiển thị lưu lượng truy cập hàng ngày, hãy sử dụng tùy chọn -d dòng lệnh:

 vnstat -d 

Tương tự, để hiển thị lưu lượng truy cập hàng tuần và hàng tháng, hãy sử dụng tùy chọn dòng lệnh -w-m tương ứng:

Lưu lượng truy cập mẫu cho một số giây cụ thể bằng tùy chọn -tr

Lệnh vnstat cho phép bạn tính toán lưu lượng truy cập đi qua giao diện được chọn trong một số giây nhất định. Điều này có thể được thực hiện bằng cách sử dụng tùy chọn -tr . Ví dụ: tôi đã sử dụng lệnh sau đây để tính số lượng lưu lượng truy cập trung bình đang trải qua eth0 trong 10 giây:

 vnstat -tr 10 

Xin lưu ý rằng thời gian mặc định sẽ là 5 giây nếu thông số số không được bao gồm.

Hiển thị đầu ra trong một dòng

Bạn cũng có thể ép buộc lệnh vnstat để tạo ra kết quả đầu ra trong một dòng, một định dạng đặc biệt thích hợp để phân tích cú pháp đầu ra của lệnh từ bên trong mã. Điều này có thể được thực hiện bằng cách sử dụng tùy chọn --oneline . Đây là một ví dụ:

 vnstat --oneline 

Để biết thêm thông tin về vnstat, hãy xem trang hướng dẫn của nó.

Phần kết luận

Vnstat là một công cụ hữu ích cho những ai muốn theo dõi lưu lượng mạng thông qua dòng lệnh. Nó không chỉ cung cấp một loạt các tùy chọn mà còn vô cùng nhẹ về tài nguyên hệ thống. Bạn đã từng sử dụng vnstat hay bất kỳ tiện ích tương tự nào khác chưa? Trải nghiệm của bạn thế nào? Chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới.