Внстат не обновляется

Я установил vnstat на своем сервере Ubuntu 14.04, чтобы отслеживать использование Интернета (у меня ограниченный ежемесячный перевод). Однако база данных никогда не обновляется. Я пытался удалить / переустановить, но это не работает. Что мне нужно сделать, чтобы vnstat обновился и был точным?

8 ответов

Бежать

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 [ OK ]

После инициализации базы данных она готова контролировать использование полосы пропускания. Вы можете просмотреть отчет командой invoke vnstat,

Те же проблемы здесь.

После проверки деталей выяснилось, что базы для разных устройств (eth0, ppp0, wlan0и т. д.) были созданы в /var/lib/vnstat но эти файлы принадлежали пользователю. Послеsudo chown -R vnstat:vnstat /var/lib/vnstatкажется, все в порядке. Я также должен был проверить интерфейс по умолчанию в /etc/vnstat.conf - это было не для меня, поэтому я просто изменил это.

Извините, я должен был сделать это своим собственным ответом вместо того, чтобы редактировать Boby's, так как мое редактирование было отклонено:

По умолчанию при установке 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 минут после исправления.

Вы уверены, что vnstatd работает, то есть демон (фоновый процесс), который выполняет сбор данных? Если нет, уточните у

ps aux | grep vnstatd

Вы должны увидеть это там.

Для меня после обновления до 14.04 vnstatd продолжал падать при запуске.

Мое решение было удалить папку, которую он использует для хранения своих данных (/var/lib/vnstat) и создайте новый пустой каталог. Вам может понадобиться бежать vnstatd вручную один раз, чтобы создать базу данных после этого:

vnstatd -n -s

Кроме того, мне также нужно было подать заявку

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

как предложено HostOnNet.

Тема старая, но все еще полезная. Все ответы есть, просто их нужно было поставить в правильном порядке, что сработало для меня:

1. Проверьте сетевой интерфейс

После установки vnstat выполните следующую команду:

      ifconfig

Это перечислит все доступные интерфейсы. В этом примере в качестве рассматриваемого интерфейса будет использоваться eth0. В вашем случае используйте любое значение, которое у вас есть.

2. Обновите конфигурацию vnstat с помощью сетевого интерфейса.

Обновите '/etc/vnstat.conf', указав значение вашего сетевого интерфейса. По умолчанию используется eth0. Измените на любое значение, которое у вас есть в # 1.

      Interface "eth0"

3. Создайте базу данных vnstat для вашего сетевого интерфейса.

Выполните следующую команду:

      sudo vnstat -i eth0 -u
Error: Unable to read database "/var/lib/vnstat/eth0": No such file or directory
Info: -> A new database has been created.

Это создаст необходимую БД для вашего сетевого интерфейса. Используйте значение интерфейса, которое у вас есть в # 1.

4. Исправьте разрешения БД сетевого интерфейса vnstat.

Выполнение команды в # 3 создаст требуемую БД с правами root, которые нам нужно сначала исправить, выполнив следующую команду:

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

5. Запустите внстат

Выполните следующие команды, чтобы запустить vnstat и проверить:

      sudo systemctl start vnstat
sudo systemctl status vnstat -l
vnstat

Попробуйте вывести некоторые из этой справки:

$ 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 vnstatd -D -n

затем перезапустите службу vnstat

Как сказано здесь

Другие вопросы по тегам