vnStat - 轻量级基于控制台的网络监视器

vnStat - 轻量级基于控制台的网络监视器

我想知道是否有任何好的应用程序可以监控我一个月在笔记本电脑上使用的数据量。我的网络连接对我可以使用的数据量有限制,超过这个限制后速度就会大大下降。我看到了 ntop,但我只是想问一下是否还有其他好的选择或建议。问候。

答案1

我遇到过类似的情况,但在达到一定数据使用量后速度会变慢(现在我有一个 16 GB 12 Mbit 计划☺)并且我使用了vnstat(包vnstat)。这是一个命令行应用程序,可显示今天和前几天的带宽使用情况。安装后,它将立即开始监控使用情况。

用法:运行vnstat查看统计数据,vnstat -d用于查看每日使用情况。-i wlan0如果您使用的是无线网络,请将其添加到上一个命令中。通过运行查看其手册页以man vnstat获取更多信息。

答案2

vnStat - 轻量级基于控制台的网络监视器

统计网是一款基于控制台的网络流量监控器,适用于 Linux 和 BSD,可记录所选接口的网络流量。它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,同时还能确保系统资源的使用量很少。

在本教程中,我们将回顾:

  • 特征
  • 安装
  • 配置
  • 启动 Systemd 服务
  • 用法(从命令行)
  • Conky 实时显示示例

特征

  • 安装和运行快速简便
  • 收集的统计数据在系统重启后仍然有效
  • 可以同时监控多个接口
  • 多种输出选项
  • 摘要、每小时、每天、每月、每周、前 10 天
  • 可选的 png 图像输出(使用 libgd)
  • 可以配置月份以遵循结算期
  • 轻量,最少的资源使用
  • 无论流量多少,CPU 使用率都同样低
  • 无需root权限即可使用
  • 在线颜色配置编辑器

安装

nvStat 位于官方存储库中,因此无需链接到新的 ppa。要安装,请使用++Ctrl创建终端实例并在提示符下输入:AltT

sudo apt-get update
sudo apt-get install vnstat

安装后,请保持终端打开以便执行以下部分。无需重新启动。

配置

选择一个首选网络接口并相应地编辑接口变量 /etc/vnstat.conf。要列出 vnstat 可用的所有接口,请使用:

$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)

要开始监控特定接口,您必须先初始化数据库。每个接口都需要自己的数据库。为 eth0 接口初始化数据库的命令是:

sudo vnstat -u -i enp59s0 

启动 Systemd 服务

引入接口并检查配置文件后,您可以通过以下方式启动监控过程systemd

sudo systemctl start vnstat.service

为了使此服务永久使用:

sudo systemctl enable vnstat.service

从现在开始vnstat将在后台收集网络使用情况,使用很小比例的 CPU,它不会出现在 conky(系统监视器)的前 9 个进程列表中(在我的计算机上)。

使用方法(从命令行)

查询网络流量:

vnstat -q

查看实时网络流量使用情况:

vnstat -l

要查找更多选项,请使用:

vnstat --help

每月总计

要查看每月总计,请使用:

$ 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 |

Conky 实时显示示例

Conky 是一款流行的轻量级系统监视器,在许多 Linux 发行版中使用。您可以在 conky 显示屏中显示 vnStat 带宽总量,如下所示:

Conky 网络实时 5.gif

Conky 相关部分的 30 秒 .gif

产生该显示的 Conky 代码是:

${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}

为了节省桌面空间,我的窄 Conky 窗口使用“G”代替“GiB”,使用“M”代替“MiB”等。如果您有更多的屏幕空间,请更改substr ($10, 1, 1)$10并对 执行相同操作$9

您可能需要更改enp59s0eth0wlan0eth1等,具体取决于 报告的网络名称ifconfig

答案3

答案4

我需要协议粒度来查看网络上正在使用什么数据,因此我选择了ntop。它有一个 Web 界面,并且为我设计了盒子。

相关内容