Wie erhalte ich die aktuelle Bandbreitennutzung über die Befehlszeile mit integrierten Linux-Tools?
Ich suche nach einer guten Möglichkeit, die aktuelle Gesamtbandbreitennutzung auf einem Linux-Computer abzurufen. Ich habe versucht iftop
, nethogs
, sie zeigen jedoch im Vergleich zum Systemmonitor keine echte Bandbreitennutzung.Sie entsprechen nicht den Anforderungen meines Projekts. Ich möchte einen Befehl, den ich ausführe, und er gibt die aktuelle Verwendung zum Hochladen und Herunterladen und sonst nichts zurück.
Ich möchte es auch mit nativen Linux-Tools tun, ohne etwas zu installieren. In der Tat mache ich eine monitoring-Anwendung, und ich möchten Sie, dass Computer überwacht werden können, ohne dass in jedem Computer, den der Benutzer überwachen möchte, etwas installiert werden muss, das wäre großartig!
3 answers
Verwenden iptraf
- http://www.linuxcommand.org/man_pages/iptraf8.html
Es ist ein ncurses-basiertes Befehlszeilenprogramm, mit dem Sie Statistiken zu allen Schnittstellen auf dem Computer - einschließlich der Bandbreitennutzung-erhalten.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-07 20:33:46
Es gibt viele Werkzeuge, die Sie verwenden können: nload
, bmon
, iftop
, vnstat
, ifstat
... und wenn Sie nur einen bestimmten Teil ihrer Ausgabe erhalten möchten (z. B. Hochladen und Herunterladen), bin ich mir ziemlich sicher, dass Sie dies können grep
/cut
/awk
die Ausgabe, damit es für Sie funktioniert.
18 befehle zur Überwachung der Netzwerkbandbreite auf dem Linux-Server
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-07 18:07:08
Sysstat sammelt auch Netzwerk-Stast. Wenn Sie einen "Man sar" machen, sehen Sie alle Ressourcen, für die Sie historische Daten aufbewahren können.
Richten Sie es ein, indem Sie den Befehl "/usr/lib/sa/sa1" (oder /usr/lib64/sa/sa1) in cron eingeben und jedes Mal ausführen lassen, wenn Sie einen Datenpunkt möchten (z. B. alle 5 Minuten)
Dann können Sie "sar" verwenden, um Ihre Daten anzuzeigen. Standard ist heute. Sie können auch historische Daten für bis zu 30 Tage. Sie können Ihre Daten auch archivieren, damit Sie sie für immer aufbewahren können (jeweils tagesdaten sind etwa 8 MB).
Für die Vernetzung würden Sie "sar-n"
Wunderbares Werkzeug :)
Ein Beispiel:
testlinux:~ # sar -n DEV | head -10
Linux 2.6.16.60-0.21-default (pCITFileSvr01) 11/07/10
00:00:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
00:05:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:05:01 eth0 9.95 0.12 1.42 0.02 0.00 0.00 0.00
00:10:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:10:01 eth0 10.20 0.04 1.44 0.00 0.00 0.00 0.00
00:15:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:15:01 eth0 10.32 0.12 1.50 0.02 0.00 0.00 0.00
00:20:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
testlinux:~ #
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-07 18:18:59