vnstat não atualizando

18

Instalei o vnstat no meu servidor Ubuntu 14.04 para rastrear meu uso da Internet (eu tenho uma transferência mensal limitada). O banco de dados nunca é atualizado, no entanto. Eu tentei desinstalar / reinstalar, mas isso não funciona. O que preciso fazer para que o vnstat seja atualizado e seja preciso?

vaindil
fonte

Respostas:

14

Corre

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

Isso corrigiu meu problema no Ubuntu 14.04.

Verifique se você possui os seguintes arquivos nessa pasta e se possui a propriedade adequada.

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 é um arquivo temporário, que pode desaparecer às vezes.

Yujin Boby
fonte
Eu tenho o mesmo problema, mas no Manjaro Archlinux. sudo chown -R vnstat:vnstat /var/lib/vnstatsaídas chown: invalid user: ‘vnstat:vnstat’. I have only vnstat.db` em /var/lib/vnstat: -rw-r--r-- 1 root root 68K Oct 23 13:07 vnstat.db. Suponho que preciso adicionar wlp2s0b1esta pasta, embora não saiba o que deve estar no arquivo. Eu enviei um problema separado para isso em github.com/vergoh/vnstat/issues/143 . As instruções acima podem não ser mais aplicáveis, pois foram respondidas há 5 anos.
James Ray
9

Após a instalação, vnstato banco de dados precisa ser criado (uma vez). Para criar o banco de dados, você pode usar a opção de atualização, que cria um novo banco de dados na base de nenhum banco de dados. Criar banco de dados: sudo vnstat -i eth0 -uonde eth0 é o nome da interface de rede. Se você não tiver certeza de atualização para todas as interfaces por sudo vnstat -u. Após algum tempo (1 minuto), você pode visualizar os detalhes vnstat -i eth0ou simplesmente vnstat.

Atualizar

Parece que vnstatnão está funcionando! . Inicie o daemon executando sudo /etc/init.d/vnstat starte verifique o resultado após 5 minutos.

Exemplo

sudo vnstat -u -i eth0

Erro: Não foi possível ler o banco de dados “/ var / lib / vnstat / eth0. Info: -> Um novo banco de dados foi criado.

sudo /etc/init.d/vnstat start
  • Iniciando o daemon vnStat vnstatd [OK]

Após a inicialização do banco de dados, ele estará pronto para monitorar o uso da largura de banda. Você pode visualizar o relatório invocando o comando vnstat.

totti
fonte
@ Vaindil, você tentou isso?
totti 27/07
1
Sim, fiz isso depois de instalar o vnstat. Doing vnstatmostra a saída, mas mostra que o banco de dados não foi atualizado há semanas.
vaindil
Funciona vnstat? Qual é o resultado deps aux | grep vnstat
totti
steven 6475 0.0 0.1 11744 916 pts/0 S+ 13:35 0:00 grep --color=auto vnstat( vnstatMostra-se vermelho no terminal, se é importante ou ajuda)
vaindil
Ao tentar executar sudo /etc/init.d/vnstat start, recebo o seguinte: Starting vnStat daemon: vnstatd./ pidfile: No such file or directorye, em seguida, ele fica como se estivesse fazendo algo, mas fica indefinidamente.
vaindil
2

Tem certeza de que vnstatdestá em execução, ou seja, o daemon (processo em segundo plano) que faz a coleta de dados? Caso contrário, verifique com

ps aux | grep vnstatd

Você deveria vê-lo lá.

Para mim, depois de atualizar para o 14.04, vnstatdcontinuava travando na inicialização.

Minha solução foi remover a pasta usada para armazenar seus dados ( /var/lib/vnstat) e criar um novo diretório vazio. Pode ser necessário executar vnstatdmanualmente uma vez para criar o banco de dados depois:

vnstatd -n -s

Além disso, eu também precisava aplicar

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

conforme sugerido pela HostOnNet.

fuenfundachtzig
fonte
2

Os mesmos problemas aqui.

Após verificar os detalhes, verificou-se que os bancos de dados para os diferentes dispositivos ( eth0, ppp0, wlan0, etc.) foram criados, /var/lib/vnstatmas esses arquivos eram de propriedade do USUÁRIO. Depois sudo chown -R vnstat:vnstat /var/lib/vnstat parece estar bem. Também tive que verificar a interface padrão /etc/vnstat.conf- era a incorreta para mim, então mudei.

Bradley
fonte
Eu perdi ao acrescentar que deixei executar "vnstat -u -i wlan0" (e o mesmo para os outros dispositivos) como ROOT. Isso também pode causar problemas com a permissão. E mais uma coisa: você precisa verificar se está usando systemd, init ou upstart e iniciar o daemon de acordo com isso.
Bradley
1

Desculpe, eu tive que fazer isso sua própria resposta em vez de editar o Boby's, pois minha edição foi rejeitada: |

Por padrão, quando você instala o vnstat, ele inicia automaticamente um daemon vnstatd, que coleta métricas a cada 30 segundos e as "atualiza" (para todos os dispositivos locais) a cada 5 minutos. Portanto, em essência, depois de instalar o pacote vnstat, você deve começar a ver as métricas 5 minutos depois.

Às vezes, parece haver um problema com o pacote de instalação. Ele às vezes parece criar / var / lib / vnstat diretório de tal forma a que não é gravável pelo usuário vnstat tão vnstat programa só funciona quando executado como root (as corridas daemon como vnstat usuário).

Você pode verificar se esse é o seu problema executando o seguinte:

ll /var/lib | grep vnstat
drwxr-xr-x 2 root        root        4096 Oct 25  2014 vnstat

Se ele pertence à raiz (como neste exemplo), esse pode ser o seu problema. Você também pode procurar a causa no seu arquivo / var / log / syslog, provavelmente terá linhas como esta:

Jul 27 22:06:19 xxx vnstatd[13276]: Error: Unable to open database "/var/lib/vnstat/eth0" for writing: Permission denied

Corre

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

Isso corrigiu meu problema no Ubuntu 15.10.

Verifique se você possui os seguintes arquivos nessa pasta e se possui a propriedade adequada. Assim, quando estiver pronto:

/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

Pode ser necessário reiniciar o daemon vnstat via sudo /etc/init.d/vnstat restartse ele tiver morrido devido à tentativa inicial falha de inicialização. Você deve começar a obter dados para todos os dispositivos em 5 minutos após a correção.

rogerdpack
fonte
0

Tente produzir alguns desta ajuda:

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

CONSULTE MAIS INFORMAÇÃO

rápido
fonte