更新

更新

我在 Ubuntu 14.04 服务器上安装了 vnstat 来跟踪我的互联网使用情况(我的每月传输量有限)。但是,数据库从未更新。我尝试过卸载/重新安装,但不起作用。我需要做什么才能让 vnstat 更新并准确?

答案1

跑步

sudo chown -R vnstat:vnstat /var/lib/vnstat

这解决了我在 Ubuntu 14.04 上的问题。

确保该文件夹中有以下文件并拥有适当的所有权。

boby@fwhlin:/var/lib/vnstat$ ls -la
total 16
drwxr-xrwx  2 vnstat vnstat 4096 May 16 01:50 .
drwxr-xr-x 78 root   root   4096 Jul 22 15:14 ..
-rw-r--rwx  1 vnstat vnstat 2792 Jul 26 00:26 eth0
-rw-rw-r--  1 vnstat vnstat 2792 Jul 26 00:26 .eth0
boby@fwhlin:/var/lib/vnstat$ 

.eth0 是临时文件,有时可能会消失。

答案2

安装后 vnstat需要创建数据库(一次)。要创建数据库,您可以使用更新开关,该开关在没有数据库的情况下创建新数据库。创建数据库:sudo vnstat -i eth0 -u其中 eth0 是网络接口的名称。如果您不确定是否要更新所有接口,请使用sudo vnstat -u。一段时间后(1 分钟),您可以查看详细信息vnstat -i eth0或简单地vnstat

更新

好像vnstat没有运行!。通过运行启动守护进程sudo /etc/init.d/vnstat start并在 5 分钟后检查结果。

例子

sudo vnstat -u -i eth0

错误:无法读取数据库“/var/lib/vnstat/eth0。信息:-> 已创建新数据库。

sudo /etc/init.d/vnstat start
  • 启动 vnStat 守护进程 vnstatd [确定]

一旦数据库初始化完毕,就可以监控带宽使用情况了。您可以通过调用命令查看报告vnstat

答案3

这里也有同样的问题。

检查完详细信息后发现,不同设备(eth0, ppp0, wlan0等)的数据库已创建,/var/lib/vnstat但这些文件归用户所有。之后 sudo chown -R vnstat:vnstat /var/lib/vnstat 似乎没问题。我还必须检查默认界面/etc/vnstat.conf- 它对我来说是错误的,所以我只是更改了它。

答案4

抱歉,由于我的编辑被拒绝了,我不得不将其作为自己的答案,而不是编辑 Boby 的答案:|

默认情况下,当您安装 vnstat 时,它会自动启动 vnstatd 守护进程,该守护进程每 30 秒收集一次指标并每 5 分钟“更新”一次(针对所有本地设备)。因此,从本质上讲,安装 vnstat 数据包后,您应该在 5 分钟后开始查看指标。

不过,有时安装包似乎存在问题。它有时似乎以某种方式创建 /var/lib/vnstat 目录,使得用户 vnstat 无法写入,因此 vnstat 程序只有在以 root 身份运行时才有效(守护进程以用户 vnstat 身份运行)。

你可以通过运行以下命令来检查这是否是你的问题:

ll /var/lib | grep vnstat
drwxr-xr-x 2 root        root        4096 Oct 25  2014 vnstat

如果它由 root 拥有(如本例中所示),那么这可能是您的问题。您还可以在 /var/log/syslog 文件中查找原因,它可能会有如下行:

Jul 27 22:06:19 xxx vnstatd[13276]: Error: Unable to open database "/var/lib/vnstat/eth0" for writing: Permission denied

跑步

 sudo chown -R vnstat:vnstat /var/lib/vnstat

这解决了我在 Ubuntu 15.10 上的问题。

确保该文件夹中包含以下文件且具有适当的所有权,完成后应如下所示:

/var/lib/vnstat$ ls -la
total 16
drwxr-xrwx  2 vnstat vnstat 4096 May 16 01:50 .
drwxr-xr-x 78 root   root   4096 Jul 22 15:14 ..
-rw-r--rwx  1 vnstat vnstat 2792 Jul 26 00:26 eth0
-rw-rw-r--  1 vnstat vnstat 2792 Jul 26 00:26 .eth0

如果vnstat 守护进程在首次启动尝试失败后死亡,您可能需要通过重新启动它sudo /etc/init.d/vnstat restart。修复后 5 分钟内,您应该可以开始获取所有设备的数据。

相关内容