Я установил vnstat на своем сервере Ubuntu 14.04, чтобы отслеживать использование Интернета (у меня ограниченный ежемесячный перевод). Однако база данных никогда не обновляется. Я пытался удалить / переустановить, но это не работает. Что мне нужно сделать, чтобы 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
база данных должна быть создана (одно время). Для создания базы данных, можно использовать переключатель обновления, которые создают новую базу данных в основе никакой базы данных. Создайте DB: 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 [хорошо]
база данных Once был initialiase, его готовое для контроля использования пропускной способности. Можно просмотреть отчет, вызывают команду 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".
Вы уверены, что vnstatd
работает, т.е. демон (фоновый процесс), который делает сбор данных? В противном случае сверьтесь
ps aux | grep vnstatd
, необходимо видеть его там.
Для меня, после обновления до 14,04 vnstatd
продолжал отказывать на запуске.
Мое решение состояло в том, чтобы удалить папку, которую оно использует, чтобы хранить ее данные (/var/lib/vnstat
) и создать новый пустой каталог вместо этого. Вы, возможно, должны работать vnstatd
вручную однажды для создания базы данных после этого:
vnstatd -n -s
Кроме этого, я также должен был подать заявку
sudo chown -R vnstat:vnstat /var/lib/vnstat
, как предложено HostOnNet.
Извините я должен был сделать этот его собственный ответ вместо того, чтобы редактировать 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 минут после фиксации.
Те же проблемы здесь.
После проверки деталей оказалось, что базы данных для различных устройств (eth0, ppp0, wlan0
, и т.д.) были созданы в /var/lib/vnstat
, но эти файлы принадлежали ПОЛЬЗОВАТЕЛЮ. После sudo chown -R vnstat:vnstat /var/lib/vnstat
это, кажется, в порядке. Я также должен был проверить интерфейс по умолчанию в /etc/vnstat.conf
- это было неправильное для меня, таким образом, я просто изменил его.