Saya memiliki beberapa pengguna shell di server dengan 300GB transfer data bulanan. Bagaimana saya bisa memonitor penggunaan bandwidth per pengguna?
Saya memiliki beberapa pengguna shell di server dengan 300GB transfer data bulanan. Bagaimana saya bisa memonitor penggunaan bandwidth per pengguna?
Jawaban:
Sebagai root, Anda setidaknya bisa mengukur lalu lintas keluar berdasarkan per pengguna menggunakan modul "pemilik" dari iptables. Jika semua pengguna yang ingin Anda pantau ada di dalamnya /root/list-of-users.txt
, Anda dapat melakukan:
for login in $(cat /root/list-of-users.txt);
do
iptables -N out_user_$login
iptables -A OUTPUT -m owner --uid-owner $(id -u $login) -j out_user_$login
done
Dan kemudian jumlah paket dan byte untuk lalu lintas keluar setiap pengguna terlihat:
iptables -L OUTPUT -n -v | grep out_
Ini dapat diperpanjang lebih jauh dengan CONNMARK untuk melacak sisi masuk juga.
Saya baru saja menemukan NetHogs :
NetHogs adalah alat 'net top' kecil. Alih-alih memecah lalu lintas per protokol atau per subnet, seperti kebanyakan alat lakukan, itu mengelompokkan bandwidth dengan proses.
Ini seharusnya memungkinkan Anda melacak bandwidth berdasarkan nama pengguna. Mungkin masih membutuhkan alat pasangan lain untuk mencatat info dan menambahkan semuanya, tapi ini awal yang baik tanpa langsung menggunakan iptables.
sudo nethogs -v 3 eth0
(atau tekan m
berulang kali setelah mulai menelusuri mode). Kombinasikan dengan tmux
untuk terus berjalan (bahkan jika ssh
sesi Anda macet).
Anda bisa menggunakan Cacti
Cacti adalah frontend lengkap untuk RRDTool, Cacti menyimpan semua informasi yang diperlukan untuk membuat grafik dan mengisinya dengan data dalam database MySQL. Frontend sepenuhnya didorong oleh PHP. Seiring dengan mampu mempertahankan Grafik, Sumber Data, dan Arsip Round Robin dalam database, kaktus menangani pengumpulan data. Ada juga dukungan SNMP bagi mereka yang digunakan untuk membuat grafik lalu lintas dengan MRTG.
Atau vnStat
vnStat adalah monitor lalu lintas jaringan berbasis konsol untuk Linux dan BSD yang menyimpan log lalu lintas jaringan untuk antarmuka yang dipilih. Ia menggunakan statistik antarmuka jaringan yang disediakan oleh kernel sebagai sumber informasi. Ini berarti vnStat tidak akan mengendus lalu lintas apa pun dan juga memastikan penggunaan sumber daya sistem yang ringan.
Keduanya hebat.
Saya terlihat sedikit, dan saya belum menemukan paket gui komprehensif yang melakukan apa yang Anda inginkan. Semoga ada dan seseorang akan mempostingnya di sini pada akhirnya
Saya sebenarnya bukan orang yang berjejaring, tetapi dari apa yang saya baca, di antara banyak hal lain netstat
dan iptables
seharusnya saya lakukan untuk akuntansi pengguna berbasis ip / host, apa yang dilakukan acct
alat untuk akuntansi proses sistem. Tautan cyberciti.biz ini memungkinkan Anda untuk mengembangkan sistem dengan alat-alat ini:
http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/
netstat -e
menunjukkan pengguna shell, memungkinkan Anda menautkan ip / host ke nama pengguna.