Linux: Bagaimana mengukur lalu lintas jaringan harian / bulanan?

15

Saya perlu menyimpan statistik lalu lintas jaringan harian untuk mesin linux (CentOS 5).

Apakah ada cara untuk melakukannya menggunakan alat / utilitas standar / asli?
Atau apakah saya harus memuat perangkat lunak khusus untuk itu?

Terima kasih.

Mendapatkan gratis
sumber
1
Seberapa akurat Anda membutuhkan statistik? Dengan kata lain apakah Anda memerlukan sesuatu yang cukup spesifik untuk menagih ulang bandwidth atau apakah rata-rata baik?
Zypher
Saya perlu tahu persis berapa banyak traffic yang saya gunakan setiap hari karena saya tidak ingin melebihi batas tertentu.
GetFree
1
Maka Anda tidak ingin alat berbasis RRD (Cacti, MRTG, Munin, dll) RRD rata-rata angka-angka sehingga Anda tidak akan pernah mendapatkan metrik yang tepat, dan itu benar-benar akan menjadi lebih buruk dari waktu ke waktu.
Zypher

Jawaban:

8

Apa yang dikatakan Zypher tentang rrdtool (dan apa pun yang menggunakannya sebagai backend - MRTG, Cacti dll) mungkin benar. RRDTool dirancang untuk menjadi alat analisis tren sejarah 'rata-rata'. Ini rata-rata dan menyimpan counter dalam peningkatan yang semakin tidak pasti semakin lama semakin lama.

Ini, bagaimanapun, dapat dikonfigurasi dengan mengatur RRA secara tepat. Saya mengaku tidak tahu apa-apa tentang konfigurasi ini, dan tidak pernah secara pribadi beruntung mendapatkannya melampaui standar saya (15 menit, 8 jam, 1 minggu, 1 bulan, 1 tahun). Saya akan merekomendasikan melihat mengkonfigurasi RRA untuk mengharapkan input harian dan memberi makan penghitung bandwidth Anda dari netstat. Anda akan mendapatkan beberapa data historis yang sangat bagus dan wawasan tentang pola penggunaan Anda.

Untuk menjawab masalah Anda saat ini, tentang memastikan Anda tidak melebihi batas bandwidth harian; Saya akan merekomendasikan meraih counter netstat setiap hari untuk antarmuka yang dimaksud. Anda dapat membandingkan lalu lintas kemarin pada waktu t dengan penghitung hari ini pada waktu t dan mencari tahu berapa yang ditransfer. Sebuah skrip sederhana dengan penyimpanan file teks datar dari nilai sebelumnya mungkin sudah cukup. Anda kemudian dapat menonaktifkan antarmuka jika Anda mendeteksi bandwidth yang terlampaui atau memonitornya sepanjang hari dan memberi tahu admin jika Anda mendekati batas Anda.

Untuk mendapatkan byte input pada sistem OSX Anda dapat menggunakan serangkaian perintah berikut:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'

Sebaliknya, output dapat diperoleh dengan:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'

Anda bisa memasukkan penghitung yang relevan ke dalam file flat yang disimpan di suatu tempat dan membandingkannya dengan:

#!/bin/bash
set -e # exit if any error occurs

previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`

if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
   DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage

Cukup sesuaikan pemrosesan netstat agar sesuai dengan sistem Anda (karena saya tahu Anda tidak menjalankan OSX).

Jordan T. Cox
sumber
25

Saya juga menyarankan menggunakan VnStat

vnStat 1.6 by Teemu Toivola <tst at iki dot fi>

     -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
     -l,  --live           show transfer rate in real time


 eth0  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  Oct '09     225.70 GB  |   798.52 GB  |     1.00 TB   %%%%:::::::::::::
  Nov '09     138.46 GB  |   616.54 GB  |   755.01 GB   %%::::::::::

 eth0  /  daily

day         rx      |     tx      |  total
------------------------+-------------+----------------------------------------
   31.12.      6.56 GB  |   34.39 GB  |   40.95 GB   %%%::::::::::::::::
   01.01.      1.13 GB  |  746.92 MB  |    1.86 GB
MadBoy
sumber
4

Paket sysstat berisi utilitas sar. Sar adalah "profiler" sistem yang sangat dapat dikonfigurasi, karena tidak memiliki istilah yang lebih baik, yang mengumpulkan berbagai statistik pada interval yang telah ditentukan (cron). Ini disimpan dalam file biner, satu untuk setiap hari, yang biasanya diputar setiap minggu, tetapi itu dapat dikonfigurasi. Program sar dapat digunakan untuk menarik statistik dari file-file ini, dan hasil tersebut dapat dengan mudah digambarkan dengan program kantor atau gnuplot (preferensi pribadi saya).

http://pagesperso-orange.fr/sebastien.godard/ <= Informasi Sar
http://www.gnuplot.info/ <= info gnuplot

d34dh0r53
sumber
4

Vnstat adalah monitor lalu lintas harian / mingguan / bulanan berbasis konsol yang hebat. Bahkan memungkinkan Anda untuk memantau lalu lintas secara realtime yang praktis.

Ia menggunakan sumber daya sistem yang sangat sedikit juga;)

Hilton D
sumber
2

Anda menginginkan MRTG yang merupakan alat pemantau jaringan, ini adalah alat yang menghasilkan semua grafik jaringan yang Anda lihat di web (dengan rdtool untuk mengubah angka menjadi gambar)

Jika Anda tidak ingin mengaturnya, atau hanya perlu sesuatu yang lebih sederhana, Anda dapat menggunakan iptables untuk merekam transfer data.

gbjbaanb
sumber
+1 untuk solusi iptables
GetFree
tautan iptables sudah mati - mungkin ini? qaoverflow.com/question/…
twodayslate
1

Saya menggunakan mrtg, ini solusi yang sangat bagus, dan ada alat lain yang tampaknya menarik dan yang memberikan banyak informasi tentang lalu lintas bernama ntop probe jaringan, di sini menemukan tautan tentang menginstal ntop di CentOS

Ali Mezgani
sumber
1

Baik MRTG atau Cacti. Cacti sulit diatur, tetapi memberikan beberapa grafik yang sangat cantik. MRTG mudah untuk mengatur plot dasar, tetapi untuk apa pun yang cantik atau rumit, itu cukup sulit.

Aaron Brown
sumber
1

Munin adalah alat berbasis RRD yang bagus dan sangat mudah diatur; statistik jaringan default cukup mendasar, tetapi mudah untuk menambahkan plugin tambahan. Saya telah melampirkan salinan statistik harian dan mingguan di salah satu server saya; Anda juga mendapatkan statistik bulanan dan tahunan di halaman yang berbeda.

Grafik jaringan Munin

gareth_bowles
sumber
Gambar hilang sekarang
Kanada Luke