【问题标题】:vnstat not updating on certain interfacesvnstat 未在某些接口上更新
【发布时间】:2013-12-02 20:53:36
【问题描述】:

vnstat 每五分钟只更新一个界面。我必须使用 vnstat -u 手动更新其余接口。所有接口都已启用,但只有一个接口每 5 分钟更新一次。

【问题讨论】:

    标签: centos monitor traffic network-monitoring


    【解决方案1】:

    使用ps aux | grep [v]nstat检查 vnstat 守护程序正在运行的用户。

    我最近遇到了同样的问题,并且在使用 vnstat -u -i eth0 作为 root 的 vnstat 进程无法写入 /var/lib/vnstat/eth0 文件,因为它作为用户“vnstat”运行。

    如果 vnstat 以用户“vnstat”运行,请确保它有权写入 /var/lib/vnstat/eth0

    【讨论】:

    • 不错的答案。当他们偶然发现同样的问题时,它可能最终会帮助他们,所以没有必要道歉。 SO不会因“挖坟”而受到惩罚或皱眉:)
    • 一个出色的政策诡异。因为如果其他人早一点“挖坟”,我就不会花这么长时间抓我的头发了!!
    【解决方案2】:

    当您为 eth0 或 ppp0 或其他任何内容添加接口时,请确保您以 vnstat 用户身份执行此操作。即

    sudo -u vnstat vnstat -i ppp0 -u
    

    如果你首先以root 运行它,即使你chmod /var/lib/vnstat 中的文件,你也会遇到问题。这是由于创建了一个名为 .ppp0 的后备文件,如果您不寻找它,您可能会错过它。 syslog会有错误提示无法写入备份文件。

    【讨论】:

      【解决方案3】:

      所以我遇到了类似的问题,我得到以下信息:

      $ vnstat -i eno1

      eno1:还没有足够的数据

      在指向 eno1 时,我还尝试了所有其他命令。有时我什至会得到:

      错误:无法创建数据库备份“/var/lib/vnstat/.eno1” 或者 分段错误(核心转储)

      我尝试重新安装,以及其他一切。

      按照 Andrew 对“t”的回答:

      错误:无法打开数据库“/var/lib/vnstat/eno1”进行写入:权限被拒绝

      所以我改为执行以下操作,但我不确定这些命令中的哪一个成功了。

      $ sudo vnstat -i eno1 -u $ sudo vnstat -u -i eno1

      然后我检查了界面是否再次工作:

      $ sudo vnstat -i eno1

      返回:

      > 数据库更新:2018 年 12 月 5 日星期三 10:17:37

      (eno1) since 1969-12-31
      
            rx:  2 KiB      tx:  1 KiB      total:  3 KiB
      

      每月 接收 |交易 |总计|平均速度 ------------+-------------+------------ --+--------------- 69 年 12 月 2 KiB | 1 千字节 | 3 千字节 | 0.00 千比特/秒 ------------+-------------+------------ --+--------------- 估计 -- | -- | -- |

      每天 接收 |交易 |总计|平均速度 ------------+-------------+------------ --+--------------- 今天 2 KiB | 1 千字节 | 3 千字节 | 0.00 千比特/秒 ------------+-------------+------------ --+--------------- 估计 -- | -- | -- |

      现在它终于可以读写 eno1 日志了。我注意到了这个问题,因为 conky 没有显示今天 && 月 && 总计的任何统计报告。我没想到会在一个月内发生任何事情,但几天后我期待在几个小时内会发生一些事情。

      我意识到其余部分需要一段时间才能填充数据。但现在我确定它正在工作。此外,我的 conky 应用程序终于显示信息了。

      但是,在此解决方案之前,我已经对文件进行了 chmod。

      针对像我这样的新手的其他信息: - 确保检查您使用的是哪个接口,我经常看到 eth0 和其他在使用“$ ifconfig”时没有出现的解决方案。输入:

      $ ifconfig

      您应该在结果的左侧看到接口名称。我的是 eno1、lo 和 wlo1。

      标签旁边:“Link encap:”应该说明它是无线、以太网还是本地环回

      lo 是本地环回,又名 localhost/127.0.0.1

      就我而言,我不确定的是 eno1 和 wlo1 之间的区别。他们都说“以太网”。我想知道是否与我的直接 wifi 打印机有关。

      【讨论】:

      • 仍在努力,但似乎-u 可以在该行的任何地方工作,甚至就像vnstat -u 一样。这将更新vnstat 输出的第一行(“数据库已更新:...”)。
      猜你喜欢
      • 1970-01-01
      • 2019-02-18
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多