vnstat no se actualiza

18

Instalé vnstat en mi servidor Ubuntu 14.04 para rastrear mi uso de Internet (tengo una transferencia mensual limitada). Sin embargo, la base de datos nunca se actualiza. He intentado desinstalar / reinstalar, pero eso no funciona. ¿Qué debo hacer para que vnstat se actualice y sea preciso?

vaindil
fuente

Respuestas:

14

correr

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

Esto solucionó mi problema en Ubuntu 14.04.

Asegúrese de tener los siguientes archivos en esa carpeta y tener la propiedad adecuada.

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 es un archivo temporal, que a veces puede desaparecer.

Yujin Boby
fuente
Tengo el mismo problema, pero en Manjaro Archlinux. sudo chown -R vnstat:vnstat /var/lib/vnstatsalidas chown: invalid user: ‘vnstat:vnstat’. I have only vnstat.db` en /var/lib/vnstat: -rw-r--r-- 1 root root 68K Oct 23 13:07 vnstat.db. Supongo que necesito agregar wlp2s0b1esta carpeta, aunque no sé qué debería estar en el archivo. He presentado un problema por separado en github.com/vergoh/vnstat/issues/143 . Es posible que las instrucciones anteriores ya no sean aplicables, ya que esto se respondió hace 5 años.
James Ray
9

Después de instalar vnstatla base de datos debe crearse (una vez). Para crear la base de datos, puede usar el interruptor de actualización, que crea una nueva base de datos en la base de ninguna base de datos. Crear DB: sudo vnstat -i eth0 -udonde eth0 es el nombre de la interfaz de red. Si no está seguro, actualice todas las interfaces por sudo vnstat -u. Después de algún tiempo (1 minuto) puede ver los detalles vnstat -i eth0o simplemente vnstat.

Actualizar

Parece que vnstatno se está ejecutando! . Inicie el demonio ejecutando sudo /etc/init.d/vnstat starty verifique el resultado después de 5 minutos.

Ejemplo

sudo vnstat -u -i eth0

Error: no se puede leer la base de datos “/ var / lib / vnstat / eth0. Información: -> Se ha creado una nueva base de datos.

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

Una vez que la base de datos ha sido inicializada, está lista para monitorear el uso del ancho de banda. Puede ver el informe mediante el comando invoke vnstat.

totti
fuente
@ Vaindil, ¿intentaste esto?
totti
1
Sí, hice esto después de instalar vnstat. Hacer vnstatmuestra el resultado, pero muestra que la base de datos no se ha actualizado en semanas.
vaindil
¿ vnstatCorrer? ¿Cuál es el 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( vnstataparece rojo en la terminal, si importa o ayuda)
vaindil
Al intentar ejecutar sudo /etc/init.d/vnstat start, obtengo lo siguiente: Starting vnStat daemon: vnstatd./ pidfile: No such file or directoryy luego se sienta como si estuviera haciendo algo, pero se sienta indefinidamente.
vaindil
2

¿Estás seguro de que se vnstatdestá ejecutando, es decir, el demonio (proceso en segundo plano) que realiza la recopilación de datos? Si no, consulte con

ps aux | grep vnstatd

Deberías verlo allí.

Para mí, después de actualizar a 14.04 vnstatdseguía fallando en el inicio.

Mi solución fue eliminar la carpeta que usa para almacenar sus datos ( /var/lib/vnstat) y crear un nuevo directorio vacío. Es posible que deba ejecutar vnstatdmanualmente una vez para crear la base de datos después de eso:

vnstatd -n -s

Aparte de eso, también necesitaba aplicar

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

según lo sugerido por HostOnNet.

fuenfundachtzig
fuente
2

Los mismos problemas aquí.

Después de verificar los detalles, resultó que las bases de datos para los diferentes dispositivos ( eth0, ppp0, wlan0, etc.) se crearon /var/lib/vnstatpero estos archivos eran propiedad del USUARIO. Después sudo chown -R vnstat:vnstat /var/lib/vnstat parece estar bien. También tuve que verificar la interfaz predeterminada /etc/vnstat.conf: era la incorrecta para mí, así que simplemente la cambié.

Bradley
fuente
Olvidé agregar que dejé ejecutar "vnstat -u -i wlan0" (y lo mismo para los otros dispositivos) como ROOT. Esto también podría causar problemas con el permiso. Y una cosa más: debe verificar si está utilizando systemd, init o upstart e iniciar el demonio de acuerdo con esto.
bradley
1

Lo siento, tuve que hacer que esta sea su propia respuesta en lugar de editar la de Boby ya que mi edición fue rechazada: |

De manera predeterminada, cuando instala vnstat, inicia automáticamente un demonio vnstatd, que recopila métricas cada 30 segundos y las "actualiza" (para todos los dispositivos locales) cada 5 minutos. Entonces, en esencia, después de instalar el paquete vnstat, debería comenzar a ver las métricas 5 minutos más tarde.

Sin embargo, a veces parece ser un problema con el paquete de instalación. A veces parece crear el directorio / var / lib / vnstat de tal manera que el usuario no puede escribirlo, por lo que el programa vnstat solo funciona cuando se ejecuta como root (el demonio se ejecuta como usuario vnstat).

Puede verificar si este es su problema ejecutando esto:

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

Si es propiedad de root (como lo es en este ejemplo), entonces ese puede ser su problema. También puede buscar la causa en su archivo / var / log / syslog, probablemente tendrá líneas como esta:

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

correr

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

Esto solucionó mi problema en Ubuntu 15.10.

Asegúrese de tener los siguientes archivos en esa carpeta y tener la propiedad adecuada, debería verse así cuando haya terminado:

/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

Es posible que deba reiniciar su demonio vnstat a través de sudo /etc/init.d/vnstat restartsi murió por su intento de inicio fallido inicial. Debería comenzar a obtener datos para todos los dispositivos en 5 minutos después de la corrección.

rogerdpack
fuente
0

Intenta generar algo de esta ayuda:

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

LEE MAS

rápido
fuente