Baru-baru ini saya mengunduh vnstat
untuk memantau penggunaan bandwidth Internet saya. Saya memiliki paket data terbatas tetapi ISP saya menyediakan bandwidth yang tidak terukur pada jam-jam tidak sibuk (02:00 hingga 8:00 pagi). Jadi, saya ingin vnstat melaporkan penggunaan data yang mengkategorikan penggunaan on-peak dan off-peak secara terpisah.
Saya telah melalui man vnstat
tetapi tidak dapat menemukan bantuan dalam hal ini. Apakah mungkin untuk mendapatkan dua statistik yang berbeda untuk penggunaan on-peak dan off-peak vnstat
? Jika tidak, alternatif apa yang tersedia bagi saya untuk mencapai hal yang sama?
command-line
bandwidth
vnstat
Aditya
sumber
sumber
Jawaban:
AFAIK tidak ada alat pemantauan bandwidth yang lebih baik dari
vnstat
. Sayangnya tidak mendukung fitur ini. Tetapi Anda dapat mencapai ini dengan menggunakan beberapa basis data untukvnstat
.Menyimpan data pada jam sibuk ke
vnstat1
dan untuk off-peak kevnstat2
. Buat skrip daemon yang akan mengubahnya berdasarkan waktu dalam sehari menggunakanif
kondisi dalam loop tak terbatas; jika tidak antara 02-08 jam gunakanvnstat1
nonaktifkanvnstat1
, aktifkanvnstat2
dansleep
.Saya menulis skrip bash berikut. Simpan dalam file dan jalankan menggunakan
sudo chmod x <filename>
. Cobalah beberapa saat. Akhirnya buat skrip otomatis mulai dengan OS. Jalankan sebagairoot
pengguna. (Cukup tambahkan path ke skrip/etc/rc.local
untuk dieksekusi saat boot).Ubah
i=eth0
jalur ke-5 ke antarmuka jaringan yang ingin Anda pantau.Untuk mengetahui penggunaan berjalan
cat /tmp/onpeak
dancat /tmp/offpeak
masing - masing.Juga merupakan ide bagus untuk mereset data pada database default (
/var/lib/vnstat
), karena tidak akan pernah diperbarui jika semua yang ada di skrip berjalan dengan baik.sumber
Semoga ini sedikit membantu.
Jadi saya akan memberi Anda program yang saya tulis, karena saya mengalami masalah dengan cron working. Sayangnya saya tidak tahu scripting shell jadi ini dalam python, tapi itu berhasil untuk saya, dan itu sangat sederhana, tetapi bagus. Maaf saya tidak berkomentar kode saya, tapi saya benar-benar tidak ingin kembali melaluinya. Saya tahu beberapa bagian mungkin bukan yang terbaik, tetapi berhasil.
Panduan Cepat
Buka Idle, salin> tempel.
Simpan sebagai
filename.py
.Buka Terminal.
Jalankan dengan Python 3 (python3 filename.py`).
Masukkan jam yang Anda ingin jadwalkan agar vnstat dijalankan.
Masukkan menit yang Anda inginkan dari jam itu.
Masukkan jumlah jam yang Anda inginkan untuk dipantau.
Masukkan jumlah menit yang ingin Anda pantau.
Masukkan perangkat yang Anda pantau (saya tidak pergi dan memeriksa kesalahan, jadi jika Anda memasukkan sesuatu seperti monkeybutt, itu akan mencoba dan menjalankan
vnstat -i monkeybutt
, setiap 15 detik, cukup Ctrl+ Ckeluar).Program akan dijalankan setiap 15 detik untuk melihat apakah waktunya cocok, tidak akan memberikan pesan apa pun. Itu dimaksudkan untuk dijalankan di latar belakang. Setelah dimulai, itu akan mengambil bidikan setiap 15 detik dari jaringan, pada perangkat yang Anda pilih. Menggunakan perintah vnstat, plus penghitung yang mengatakan berapa detik yang tersisa dari pemantauan.
Setelah menyelesaikan pemindaian, ia akan menanyakan apakah Anda ingin keluar, dan memberi Anda opsi jika Anda ingin menunjukkan laporan, jika tidak Anda bisa langsung keluar. Semua barang disimpan dalam basis data vnstats.
Bagian lama pos (mungkin bermanfaat bagi sebagian orang)
Anda bisa mendapatkan gnome-schedule, lalu memasukkan perintah Anda misalnya vnstat -h, dan mengaturnya berulang pada saat Anda mencoba memantau. Mungkin terlalu sederhana, tapi semoga orang lain bisa berkembang lebih jauh.
Tambahan (Sunting): Saya belum menggunakan vnstat terlalu banyak, itulah sebabnya saya berharap seseorang dapat memperluas pada bagian itu, tetapi dengan jadwal gnome, Anda dapat menjadwalkan perintah untuk mengeksekusi selama bagian-bagian tertentu hari itu. Jadi menggunakan vntstat -tr -l (traffic switch, monitor traffic langsung), akan menunjukkan traffic saat berjalan (yang bisa Anda jadwalkan di gnome-schedule, tetapi Anda mungkin harus secara manual Ctrl+ C] keluar.)
Kalau tidak, saya yakin Anda bisa menyalurkannya ke file, atau menggunakan program output grafis untuk vnstat jika Anda memilikinya. Program output grafis
vnstati -i 'filename'
akan menampilkannya ke file png. Jika Anda ingin perintah lebih lanjutvnstat --longhel
p memiliki lebih banyak perintah.(Contoh layar tentang bagaimana memasukkan sesuatu ke dalam jadwal gnome.)
Apakah Anda tahu cara mendapatkan 'snapshot' dari bandwidth menggunakan vnstat, atau apakah Anda memerlukan bantuan lebih lanjut tentang perintah-perintah itu? Saya bisa mencoba bekerja dengan program lebih banyak.
sumber