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

18

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

vaindil
источник

Ответы:

14

Бегать

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 - это временный файл, который иногда может исчезать.

Юджин Боби
источник
У меня такая же проблема, но на Manjaro Archlinux. 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 лет назад.
Джеймс Рэй
9

После установки 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.

Тотти
источник
@Vaindil, ты пробовал это?
Тотти
1
Да, я сделал это после того, как я установил 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отображается красным в терминале, если это важно или помогает)
vaindil
При попытке запустить sudo /etc/init.d/vnstat start, я получаю следующее: Starting vnStat daemon: vnstatd./ pidfile: No such file or directoryа затем он сидит, как будто он что-то делает, но он сидит бесконечно.
Вайдил
2

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

ps aux | grep vnstatd

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

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

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

vnstatd -n -s

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

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

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

fuenfundachtzig
источник
2

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

После проверки деталей оказалось, что базы данных для различных устройств ( eth0, ppp0, wlan0и т. Д.) Были созданы в, /var/lib/vnstatно эти файлы принадлежали ПОЛЬЗОВАТЕЛЮ. После, sudo chown -R vnstat:vnstat /var/lib/vnstat кажется, все в порядке. Я также должен был проверить интерфейс по умолчанию в /etc/vnstat.conf- он был неправильным для меня, поэтому я просто изменил его.

Bradley
источник
Я забыл добавить, что я позволил запустить "vnstat -u -i wlan0" (и то же самое для других устройств) как ROOT. Это также может вызвать проблемы с разрешением. И еще одна вещь: вы должны проверить, используете ли вы systemd, init или upstart и запустить демон в соответствии с этим.
Брэдли
1

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

По умолчанию при установке vnstat он автоматически запускает демон vnstatd, который собирает метрики каждые 30 секунд и «обновляет их» (для всех локальных устройств) каждые 5 минут. Итак, по сути, после установки пакета vnstat, вы должны начать видеть показатели через 5 минут.

Однако иногда возникает проблема с пакетом установки. Это иногда кажется , чтобы создать / уаг / Библиотека / vnstat каталог таким образом , что он не доступен для записи пользователем vnstat так vnstat программа работает только при запуске с правами администратора (запуск демона как пользователя 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 минут после исправления.

rogerdpack
источник
0

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

$ 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".

ПОДРОБНЕЕ

быстрый
источник