vnstat没有更新

我在我的Ubuntu 14.04服务器上安装了vnstat以跟踪我的互联网使用情况(我的每月转移数量有限)。 但是,数据库永远不会更新。 我尝试过卸载/重新安装,但这不起作用。 要使vnstat更新并准确,我需要做些什么?

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是临时文件,有时可能会消失。

安装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查看报告。

你确定vnstatd正在运行,即执行数据收集的守护进程(后台进程)吗? 如果没有,请检查

 ps aux | grep vnstatd 

你应该在那里看到它。

对我来说,升级到14.04后vnstatd在启动时不断崩溃。

我的解决方案是删除它用来存储数据的文件夹( /var/lib/vnstat )并创建一个新的空目录。 您可能需要手动运行vnstatd一次以创建数据库:

 vnstatd -n -s 

除此之外,我还需要申请

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

正如HostOnNet所建议的那样。

同样的问题在这里

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

抱歉,由于我的编辑被拒绝,我不得不将其作为自己的答案,而不是编辑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 

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

尝试从此帮助输出一些:

 $ vnstat --help vnStat 1.11 by Teemu Toivola -q, --query query database -h, --hours show hours -d, --days show days -m, --months show months -w, --weeks show weeks -t, --top10 show top10 -s, --short use short output -u, --update update database -i, --iface select interface (default: eth0) -?, --help short help -v, --version show version -tr, --traffic calculate traffic -ru, --rateunit swap configured rate unit -l, --live show transfer rate in real time See also "--longhelp" for complete options list and "man vnstat". 

阅读更多