问题描述
我可以从系统监视器看到当前会话中传输的数据(互联网下载/上传)。但我想要跟踪所有传输的数据,我可以看到在一两个月内使用了多少数据。优选地是GUI工具。
最佳解决方法
如果你喜欢一个漂亮的GUI尝试NTM – 网络流量监视器。它不在回购中,但您可以从他们的网站轻松下载deb软件包:http://netramon.sourceforge.net/eng/index.html
应该适用于所有* buntu变种。
特征:
-
选择监控界面。
-
监测期:日,周,月,年或自定义日。使用自动更新。
-
阈值:如果达到限制(通过NetworkManager),则自动断开连接。
-
流量监控:入站,出站和总流量;显示流量速度。
-
时间监控:该时段内的连接总时间。
-
时隙监控:使用的会话数。
-
报告:显示可配置期间的平均值和每日流量。
-
使用NetworkManager或”Ping Mode”进行在线检查。
-
流量归因于会话开始的那天。
-
不需要root权限。
-
不侵入,使用系统尝试图标。
次佳解决方法
安装vnstat
sudo apt-get install vnstat
现在您要配置您的界面
sudo vnstat -u -i <interface>
即
sudo vnstat -u -i eth0
现在在终端中查看使用类型vnstat
vnstat
输出:
karthick@Ubuntu-desktop:~/Desktop$ vnstat
Database updated: Thu Dec 2 13:06:21 2010
eth0 since 11/29/10
rx: 624.84 MiB tx: 285.97 MiB total: 910.80 MiB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Nov '10 412.00 MiB | 239.16 MiB | 651.16 MiB | 2.06 kbit/s
Dec '10 212.83 MiB | 46.81 MiB | 259.64 MiB | 15.92 kbit/s
------------------------+-------------+-------------+---------------
estimated 4.15 GiB | 922 MiB | 5.05 GiB |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
yesterday 150.05 MiB | 30.82 MiB | 180.87 MiB | 17.15 kbit/s
today 62.78 MiB | 15.99 MiB | 78.77 MiB | 13.68 kbit/s
------------------------+-------------+-------------+---------------
estimated 113 MiB | 27 MiB | 140 MiB |
注意:要查看每月状态,请单击vnstat -m
以查看每日状态类型vnstat -d
第三种解决方法
vnStat – 重量轻Console-based网络监视器
vnStat是用于Linux和BSD的console-based网络流量监视器,用于记录所选接口的网络流量。它使用内核提供的网络接口统计信息作为信息源。这意味着vnStat实际上不会嗅探任何流量,也可以确保轻松使用系统资源。
在本教程中,我们将回顾:
-
特征
-
安装
-
组态
-
启动Systemd服务
-
用法(从命令行)
-
坚定的例子
Features
-
安装快速简便,运行良好
-
通过系统重启,收集的统计数据仍然存在
-
可以同时监控多个接口
-
几种输出选项
-
摘要,每小时,每日,每月,每周,前10天
-
可选的png图像输出(使用libgd)
-
可以将月份配置为遵循结算周期
-
轻,资源使用最少
-
无论流量如何,相同的低CPU使用率
-
可以在没有root权限的情况下使用
-
在线颜色配置编辑器
Installation
nvStat位于官方存储库中,因此无需链接到新的ppa。要安装使用Ctrl
+ Alt
+ T
创建终端实例并在提示符处键入:
sudo apt-get install vnstat
安装后,请保持终端打开以用于以下部分。无需重启。
Configuration
选择首选网络接口并相应地编辑/etc/vnstat.conf
中的接口变量。在列表中可以使用vnstat的所有接口,使用:
vnstat --iflist.
要开始监视特定接口,必须首先初始化数据库。每个接口都需要自己的数据库。初始化eth0接口的命令是:
sudo vnstat -u -i eth0
启动Systemd服务
介绍接口并检查配置文件后。您可以通过systemd
启动监控过程:
sudo systemctl start vnstat.service
要使此服务永久使用:
sudo systemctl enable vnstat.service
从现在开始,vnstat
将使用如此小比例的CPU在后台收集网络使用情况,它不会出现在conky(系统监视器)的前9个进程列表中(在我的机器上)。
用法(从命令行)
查询网络流量:
vnstat -q
查看实时网络流量使用情况
vnstat -l
要查找更多选项,请使用:
vnstat --help
每月总计
要查看每月总计,请使用:
rick@dell:~$ vnstat -m
eth0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Nov '16 76.31 MiB | 2.03 MiB | 78.35 MiB | 10.45 kbit/s
------------------------+-------------+-------------+---------------
estimated 3.13 GiB | 84 MiB | 3.21 GiB |
坚定的例子
Conky是一种流行的light-weight系统监视器,用于许多Linux发行版。您可以将带宽总数vnStat到您的conky显示,如下所示:
注意图片拍摄时Yesterday
是周日,这解释了为什么每周总数减少。
实现这一目标的最常见的代码是:
${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 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}
为了节省我狭窄窗口的空间,我使用了”G”而不是”GiB”,而不是”M”,而不是”MiB”等。如果你有更多的屏幕房地产改变substr ($10, 1, 1)
改为$10
,$9
也是如此。
您可能需要将eth0
更改为wlan0
或eth1
等,具体取决于ifconfig
报告的网络名称。