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.
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.
Jawaban:
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).
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
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
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.
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
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.
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.