Answers:
跑
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 [确定]
初始化数据库后,即可监视带宽使用情况。您可以通过invoke命令查看报告vnstat
。
vnstat
确实显示了输出,但是它显示数据库在几周内没有更新。
vnstat
运行?ps aux | grep vnstat
steven 6475 0.0 0.1 11744 916 pts/0 S+ 13:35 0:00 grep --color=auto vnstat
(vnstat
如果有问题或有帮助,则在终端上显示红色)
sudo /etc/init.d/vnstat start
,得到以下信息:Starting vnStat daemon: vnstatd.
/ pidfile: No such file or directory
然后它就好像在做某事一样坐着,但是它无限期地坐着。
您确定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程序,只有当作为根(守护进程运行的用户vnstat)运行工作。
您可以通过运行以下命令检查这是否是您的问题:
ll /var/lib | grep vnstat
drwxr-xr-x 2 root root 4096 Oct 25 2014 vnstat
如果它是由根拥有的(如本例所示),则可能是您的问题。您也可以在/ 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分钟内开始获取所有设备的数据。
尝试从此帮助中输出一些信息:
$ 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".
sudo chown -R vnstat:vnstat /var/lib/vnstat
输出chown: invalid user: ‘vnstat:vnstat’. I have only
vnstat.db`中/var/lib/vnstat
:-rw-r--r-- 1 root root 68K Oct 23 13:07 vnstat.db
。我想我需要添加wlp2s0b1
此文件夹,尽管我不知道文件中应该包含什么。我已经在github.com/vergoh/vnstat/issues/143上为此提交了一个单独的问题。上面的说明可能不再适用,因为5年前已经回答了。