vnStat - Màn hình mạng dựa trên bảng điều khiển trọng lượng nhẹ
vnStat là trình giám sát lưu lượng mạng dựa trên bảng điều khiển dành cho Linux và BSD, giữ nhật ký lưu lượng mạng cho (các) giao diện đã chọn. Nó sử dụng số liệu thống kê giao diện mạng được cung cấp bởi kernel làm nguồn thông tin. Điều này có nghĩa là vnStat sẽ không thực sự đánh hơi bất kỳ lưu lượng truy cập nào và cũng đảm bảo sử dụng nhẹ tài nguyên hệ thống.
Trong hướng dẫn này, chúng tôi sẽ xem xét:
- Tính năng, đặc điểm
- Cài đặt
- Cấu hình
- Bắt đầu dịch vụ Systemd
- Cách sử dụng (từ dòng lệnh)
- Ví dụ hiển thị thời gian thực của Conky
Tính năng, đặc điểm
- nhanh chóng và đơn giản để cài đặt và chạy
- thu thập số liệu thống kê vẫn tồn tại thông qua khởi động lại hệ thống
- có thể giám sát nhiều giao diện cùng một lúc
- 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, top 10 ngày
- đầu ra hình ảnh png tùy chọn (sử dụng libgd)
- tháng có thể được cấu hình để tuân theo thời hạn thanh toán
- sử dụng tài nguyên tối thiểu
- cùng sử dụng cpu thấp bất kể lưu lượng
- có thể được sử dụng mà không cần quyền root
- biên tập cấu hình màu trực tuyến
Cài đặt
nvStat nằm trong kho chính thức nên không cần liên kết với ppa mới. Để cài đặt, tạo một thể hiện Terminal bằng Ctrl+ Alt+ Tvà gõ tại dấu nhắc:
sudo apt-get update
sudo apt-get install vnstat
Sau khi cài đặt, giữ cho Terminal của bạn mở cho các phần sau. Không cần phải khởi động lại.
Cấu hình
Chọn một giao diện mạng ưa thích và chỉnh sửa biến Giao diện /etc/vnstat.conf
tương ứng. Để liệt kê tất cả các giao diện có sẵn cho vnstat, hãy sử dụng:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Để bắt đầu theo dõi một giao diện cụ thể, trước tiên bạn phải khởi tạo cơ sở dữ liệu. Mỗi giao diện cần cơ sở dữ liệu riêng. Lệnh để khởi tạo một cho giao diện eth0 là:
sudo vnstat -u -i enp59s0
Bắt đầu dịch vụ Systemd
Sau khi giới thiệu (các) giao diện và kiểm tra tệp cấu hình. Bạn có thể bắt đầu quá trình giám sát thông qua systemd
:
sudo systemctl start vnstat.service
Để sử dụng dịch vụ này vĩnh viễn:
sudo systemctl enable vnstat.service
Từ giờ trở đi vnstat
sẽ thu thập việc sử dụng mạng trong nền bằng cách sử dụng một tỷ lệ nhỏ CPU như vậy, nó không hiển thị trong danh sách 9 quy trình hàng đầu của conky (màn hình hệ thống) (trên máy của tôi).
Cách sử dụng (từ Dòng lệnh)
Truy vấn lưu lượng mạng:
vnstat -q
Xem sử dụng lưu lượng truy cập mạng trực tiếp:
vnstat -l
Để tìm thêm tùy chọn, sử dụng:
vnstat --help
Tổng số hàng tháng
Để xem tổng số hàng tháng, sử dụng:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Ví dụ hiển thị thời gian thực của Conky
Conky là một System Monitor trọng lượng nhẹ phổ biến được sử dụng trên nhiều bản phân phối Linux. Bạn có thể hiển thị tổng số băng thông vnStat trong màn hình conky của bạn như thế này:
30 giây .gif của phần có liên quan của Conky
Mã Conky để sản xuất màn hình này là:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Để tiết kiệm không gian máy tính để bàn, hẹp cửa sổ Conky sử dụng của tôi "G" thay vì "GiB", "M" thay vì "MiB", vv Nếu bạn có màn hình nhiều thay đổi bất động sản substr ($10, 1, 1)
để $10
và làm tương tự cho $9
.
Bạn có thể phải thay đổi enp59s0
thành eth0
, wlan0
hoặc eth1
, v.v. tùy thuộc vào tên mạng của bạn được báo cáo bởi ifconfig
.
vnstat