Ich habe einige Shell-Benutzer auf einem Server mit 300 GB monatlicher Datenübertragung. Wie kann ich die Bandbreitennutzung pro Benutzer überwachen?
12
Ich habe einige Shell-Benutzer auf einem Server mit 300 GB monatlicher Datenübertragung. Wie kann ich die Bandbreitennutzung pro Benutzer überwachen?
Antworten:
Als Root können Sie zumindest den ausgehenden Datenverkehr auf Benutzerbasis mit dem Modul "owner" von iptables messen. Wenn alle Benutzer, die Sie überwachen möchten, angemeldet sind
/root/list-of-users.txt
, haben Sie folgende Möglichkeiten :Anschließend werden die Anzahl der Pakete und Bytes für den ausgehenden Verkehr jedes Benutzers angezeigt:
Dies könnte mit CONNMARK erweitert werden, um auch die eingehende Seite zu verfolgen.
quelle
Ich bin gerade auf NetHogs gestoßen :
Dies sollte Ihnen ermöglichen, die Bandbreite nach Benutzernamen zu verfolgen. Möglicherweise benötigen Sie noch ein paar Tools, um die Informationen zu protokollieren und alles zu addieren, aber es ist ein guter Anfang, ohne iptables direkt zu verwenden.
quelle
sudo nethogs -v 3 eth0
(oderm
wiederholt drücken, nachdem die Modi durchlaufen wurden). Kombiniere mit,tmux
um dauerhaft zu laufen (auch wenn deinessh
Sitzung abstürzt).Sie können Kakteen verwenden
Oder vnStat
Beide sind großartig.
quelle
Ich habe ein bisschen nachgesehen und kein umfassendes GUI-Paket gefunden, das genau das tut, was Sie wollen. Hoffentlich existiert einer und irgendwann wird jemand hier darüber posten.
Ich bin nicht wirklich ein Netzwerk - Typ, aber von dem, was ich gelesen habe, unter vielen anderen Dingen
netstat
undiptables
bin für die IP / Host - basierte Benutzer tun soll Buchhaltung , was dieacct
Werkzeuge für den Systemprozess Buchhaltung taten. Dieser Link auf cyberciti.biz könnte Sie auf den Weg bringen, ein System mit den folgenden Tools zu entwickeln:http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/
quelle
netstat -e
Zeigt die Shell-Benutzer an, sodass Sie IP / Host mit dem Benutzernamen verknüpfen können.