vnstat tidak memperbarui

18

Saya menginstal vnstat di server Ubuntu 14.04 saya untuk melacak penggunaan internet saya (saya memiliki transfer bulanan terbatas). Namun, basis data tidak pernah diperbarui. Saya sudah mencoba mencopot pemasangan / menginstal ulang, tetapi itu tidak berhasil. Apa yang harus saya lakukan untuk mendapatkan vnstat agar diperbarui dan akurat?

vaindil
sumber

Jawaban:

14

Lari

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

Ini memperbaiki masalah saya di Ubuntu 14.04.

Pastikan Anda memiliki file berikut dalam folder itu dan memiliki kepemilikan yang tepat.

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 adalah file temp, yang terkadang hilang.

Yujin Boby
sumber
Saya memiliki masalah yang sama, tetapi pada Manjaro Archlinux. sudo chown -R vnstat:vnstat /var/lib/vnstatoutput chown: invalid user: ‘vnstat:vnstat’. I have only vnstat.db` di /var/lib/vnstat: -rw-r--r-- 1 root root 68K Oct 23 13:07 vnstat.db. Saya kira saya perlu menambahkan wlp2s0b1folder ini, meskipun saya tidak tahu apa yang seharusnya ada di file. Saya telah mengajukan masalah terpisah untuk ini di github.com/vergoh/vnstat/issues/143 . Instruksi di atas mungkin tidak lagi berlaku, karena ini dijawab 5 tahun yang lalu.
James Ray
9

Setelah menginstal vnstatdatabase perlu dibuat (satu kali). Untuk membuat basis data, Anda dapat menggunakan sakelar pembaruan, yang membuat basis data baru di basis tanpa basis data. Buat DB: di sudo vnstat -i eth0 -umana eth0 adalah nama antarmuka jaringan. Jika Anda tidak yakin pembaruan untuk semua antarmuka oleh sudo vnstat -u. Setelah beberapa saat (1 menit) Anda dapat melihat detail vnstat -i eth0atau sederhana vnstat.

Memperbarui

Sepertinya vnstattidak berjalan! . Mulai daemon dengan menjalankan sudo /etc/init.d/vnstat startdan memeriksa hasilnya setelah 5 menit.

Contoh

sudo vnstat -u -i eth0

Kesalahan: Tidak dapat membaca basis data “/ var / lib / vnstat / eth0. Info: -> Database baru telah dibuat.

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

Setelah database diinisialisasi, siap untuk memonitor penggunaan bandwidth. Anda dapat melihat laporan dengan menjalankan perintah vnstat.

totti
sumber
@Vaindil, apakah Anda mencoba ini?
totti
1
Ya, saya melakukan ini setelah saya menginstal vnstat. Melakukan vnstatmemang menunjukkan output, tetapi itu menunjukkan bahwa database belum diperbarui dalam beberapa minggu.
vaindil
Apakah vnstatberjalan? Apa hasil darips aux | grep vnstat
totti
steven 6475 0.0 0.1 11744 916 pts/0 S+ 13:35 0:00 grep --color=auto vnstat( vnstatmuncul merah di terminal, jika itu penting atau membantu)
vaindil
Ketika mencoba untuk menjalankan sudo /etc/init.d/vnstat start, saya mendapatkan yang berikut: Starting vnStat daemon: vnstatd./ pidfile: No such file or directorydan kemudian itu seolah-olah sedang melakukan sesuatu, tetapi itu duduk tanpa batas.
vaindil
2

Apakah Anda yakin vnstatdsedang berjalan, yaitu daemon (proses latar belakang) yang melakukan pengumpulan data? Jika tidak, tanyakan

ps aux | grep vnstatd

Anda harus melihatnya di sana.

Bagi saya, setelah meningkatkan ke 14,04 vnstatdterus macet saat start-up.

Solusi saya adalah menghapus folder yang digunakannya untuk menyimpan datanya ( /var/lib/vnstat) dan membuat direktori kosong baru. Anda mungkin perlu menjalankan vnstatdsecara manual sekali untuk membuat database setelah itu:

vnstatd -n -s

Selain itu, saya juga perlu mendaftar

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

seperti yang disarankan oleh HostOnNet.

fuenfundachtzig
sumber
2

Masalah yang sama di sini.

Setelah memeriksa detail ternyata database untuk perangkat yang berbeda ( eth0, ppp0, wlan0, dll.) Dibuat /var/lib/vnstattetapi file-file ini dimiliki oleh USER. Setelah sudo chown -R vnstat:vnstat /var/lib/vnstat itu sepertinya ok. Saya juga harus memeriksa antarmuka default di /etc/vnstat.conf- itu yang salah bagi saya, jadi saya baru saja mengubahnya.

Bradley
sumber
Saya lupa menambahkan bahwa saya membiarkan menjalankan "vnstat -u -i wlan0" (dan sama untuk perangkat lain) sebagai ROOT. Ini juga dapat menyebabkan masalah dengan izin. Dan satu hal lagi: Anda harus memeriksa apakah Anda menggunakan systemd, init atau pemula dan memulai daemon sesuai dengan ini.
bradley
1

Maaf saya harus membuat ini jawabannya sendiri alih-alih mengedit Boby karena hasil edit saya ditolak: |

Secara default, ketika Anda menginstal vnstat, ia secara otomatis memulai daemon vnstatd, yang mengumpulkan metrik setiap 30 detik dan "memperbaruinya" (untuk semua perangkat lokal) setiap 5 menit. Jadi intinya, setelah menginstal paket vnstat, Anda harus mulai melihat metrik 5 menit kemudian.

Namun terkadang muncul masalah dengan paket instalasi. Ini kadang-kadang tampaknya membuat / var / lib / vnstat direktori dengan cara sedemikian rupa sehingga tidak dapat ditulis oleh pengguna vnstat sehingga vnstat Program hanya bekerja ketika dijalankan sebagai root (daemon berjalan sebagai pengguna vnstat).

Anda dapat memeriksa apakah ini masalah Anda dengan menjalankan ini:

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

Jika dimiliki oleh root (seperti dalam contoh ini), maka itu mungkin masalah Anda. Anda juga dapat mencari penyebabnya di file / var / log / syslog Anda, mungkin akan memiliki baris seperti ini:

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

Lari

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

Ini memperbaiki masalah saya di Ubuntu 15.10.

Pastikan Anda memiliki file berikut dalam folder itu dan memiliki kepemilikan yang tepat, akan terlihat seperti ini ketika Anda selesai:

/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

Anda mungkin perlu me-restart daemon vnstat Anda melalui sudo /etc/init.d/vnstat restartjika ia mati karena upaya awal yang gagal. Anda harus mulai mendapatkan data untuk semua perangkat dalam 5 menit setelah perbaikan.

rogerdpack
sumber
0

Cobalah untuk mengeluarkan beberapa dari bantuan ini:

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

BACA LEBIH BANYAK

cepat
sumber