Waren Sie jemals in einer Situation, in der Sie wissen mussten, wer Ihre gesamte Bandbreite verbraucht und wofür sie sie verwenden? Das habe ich auf jeden Fall und möchte Ihnen ein Tool vorstellen, das Ihnen bei der Beantwortung dieser Frage helfen kann. Als ich als Support-Administrator gearbeitet habe, habe ich routinemäßig versucht, Replikationsjobs auszuführen, die an der Schnittstelle Engpässe verursachten. Die Schnittstelle und die zugehörige Hardware waren mehr als in der Lage, 10 Gb nach oben zu pushen. Allerdings habe ich nur etwa 3 GB davon gesehen. Es stellt sich also die Frage, insbesondere bei einer dedizierten Schnittstelle, wer verschlingt die ganze Bandbreite? Oder gibt es noch ein anderes Problem?
Die besten Techniken zur Fehlerbehebung sind die schnellen, mühelosen Schritte, die Sie unternehmen, um eines der vielen möglichen Ergebnisse zu beseitigen. Geben Sie iftop
ein .
Was macht es?
Ähnlich wie top und htop ist iftop
Der Befehl wird für die Ressourcennutzung auf Ihrem System verwendet. Insbesondere überwacht es die Bandbreite aktiver Ethernet-Schnittstellen. In Anwendung auf die oben beschriebene Situation können Sie iftop
ausführen Befehl, um zu sehen, was tatsächlich die Bandbreite über die Datenreplikationsschnittstelle verwendet. Dies kann unglaublich effizient sein, wenn man bedenkt, wie lange es dauern könnte, bis man zu diesem Schluss kommt, indem man die Schnittstelle selbst behebt. Es liegt kein Problem vor, nur ein Übermaß an Aktivität auf der Schnittstelle.
Schauen wir uns den Prozess der Installation und Verwendung dieses praktischen Tools an.
Installation
Bevor Sie iftop
installieren Tool benötigen Sie einige vorausgesetzte Pakete. Sie müssen libpcap
installieren (das zum Erfassen der Schnittstellendaten in Echtzeit verwendet wird) sowie libncurses
(eine API, die zum Erstellen textbasierter Schnittstellen unabhängig von einem Terminal verwendet wird). Ich verwende eine Fedora 32 VM, um dieses Tool zu demonstrieren. Wenn Sie ein anderes Betriebssystem verwenden, wird Ihre Installation leicht abweichen. Zum Installieren:
[tcarrigan@client ~]$ sudo yum -y install libpcap-devel ncurses ncurses-devel
[sudo] password for tcarrigan:
Fedora 32 openh264 (From Cisco) - x86_64 4.8 kB/s | 989 B 00:00
Fedora 32 openh264 (From Cisco) - x86_64 3.3 kB/s | 2.5 kB 00:00
Fedora Modular 32 - x86_64 28 kB/s | 15 kB 00:00
Fedora Modular 32 - x86_64 - Updates 38 kB/s | 7.6 kB 00:00
Fedora Modular 32 - x86_64 - Updates 189 kB/s | 1.0 MB 00:05
Fedora 32 - x86_64 - Updates 46 kB/s | 10 kB 00:00
Fedora 32 - x86_64 - Updates 221 kB/s | 12 MB 00:54
Fedora 32 - x86_64 40 kB/s | 15 kB 00:00
Package ncurses-6.1-15.20191109.fc32.x86_64 is already installed.
Dependencies resolved.
==============================================================================================
Package Architecture Version Repository Size
==============================================================================================
Installing:
libpcap-devel x86_64 14:1.9.1-3.fc32 fedora 136 k
ncurses-devel x86_64 6.1-15.20191109.fc32 fedora 503 k
Installing dependencies:
ncurses-c++-libs x86_64 6.1-15.20191109.fc32 fedora 39 k
Transaction Summary
==============================================================================================
Install 3 Packages
Total download size: 678 k
Installed size: 1.2 M
Downloading Packages:
(1/3): ncurses-c++-libs-6.1-15.20191109.fc32.x86_64.rpm 55 kB/s | 39 kB 00:00
(2/3): libpcap-devel-1.9.1-3.fc32.x86_64.rpm 159 kB/s | 136 kB 00:00
(3/3): ncurses-devel-6.1-15.20191109.fc32.x86_64.rpm 174 kB/s | 503 kB 00:02
----------------------------------------------------------------------------------------------
Total 181 kB/s | 678 kB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 1/3
Installing : ncurses-devel-6.1-15.20191109.fc32.x86_64 2/3
Installing : libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3
Running scriptlet: libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3
Verifying : libpcap-devel-14:1.9.1-3.fc32.x86_64 1/3
Verifying : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 2/3
Verifying : ncurses-devel-6.1-15.20191109.fc32.x86_64 3/3
Installed:
libpcap-devel-14:1.9.1-3.fc32.x86_64 ncurses-c++-libs-6.1-15.20191109.fc32.x86_64
ncurses-devel-6.1-15.20191109.fc32.x86_64
Complete!
Sobald Sie die vorausgesetzten Pakete installiert haben, können Sie das eigentliche iftop
installieren Werkzeug:
[root@client ~]# dnf install iftop
Last metadata expiration check: 0:01:45 ago on Thu 08 Oct 2020 06:22:52 PM EDT.
Package iftop-1.0-0.23.pre4.fc32.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[Leser mochten auch: 11 Linux-Befehle, ohne die ich nicht leben kann]
Grundlegende Verwendung
Sobald Sie alle erforderlichen Pakete installiert haben, führen Sie iftop
aus um ein Gefühl für die Ausgabe und die präsentierten Informationen zu bekommen. Denken Sie daran, dass ohne Optionen iftop
läuft gegen die Standardschnittstelle (in den meisten Fällen eth0).
So führen Sie den Standardbefehl aus:
[root@client ~]# iftop
Beachten Sie von links nach rechts Folgendes:
- Aufgelöste Hostnamen (Quelle oder Ziel, gekennzeichnet durch die Pfeile)
- Durchschnittliche Datenübertragungsraten (2, 10, 40-Sekunden-Intervalle)
Unten in der Ausgabe sehen Sie die Übertragungsraten TX (übertragen) RX (empfangen) GESAMT. Es gibt auch Zahlen für kumulierte Summen und Durchschnittswerte sowie Spitzenzahlen.
Konkret werden
So leistungsfähig dieses Tool auch ist, es kann Ihnen in einer geschäftigen Umgebung zu viele Informationen zuwerfen. Um dieses Problem zu umgehen, verwenden wir bestimmte Optionen, um die angezeigte Ausgabe zu filtern. In dem oben beschriebenen Szenario möchte ich nur die Analysen rund um die spezifische Replikationsschnittstelle sehen, die ich verwenden wollte. Um eine bestimmte Schnittstelle zu betrachten, fügen wir das -i
hinzu Option.
[tcarrigan@client ~] $ sudo iftop -i enp0s3
Hier sehen wir die gleichen Informationen wie zuvor. Dies bezieht sich jedoch nur auf die Schnittstelle enp0s3
.
Wenn Sie IP-Informationen anzeigen möchten, verwenden Sie den -n
Flag, um die Hostnamenauflösung zu deaktivieren.
[tcarrigan@client ~] $ sudo iftop -n
Auf dem obigen Screenshot können Sie sehen, dass die IP-Adressen jetzt sichtbar sind. Dies kann in großen Umgebungen, in denen Hostnamen verwirrend werden können, eine viel einfachere Methode zur Fehlersuche sein.
Es gibt verschiedene andere Optionen, die Sie verwenden können, um die Ihnen präsentierten Informationen wirklich einzuwählen. Die folgende Liste stammt direkt aus der Manpage, die durch Ausführen von man iftop
gefunden werden kann .
[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]
Zusammenfassung
Wenn Sie es bis hierhin geschafft haben, haben Sie sich das von iftop
angebotene Dienstprogramm angeschaut und die Möglichkeiten zum gezielten Einsatz. Wenn Sie herausfinden müssen, welche Bandbreite verwendet wird und wohin sie geht, iftop
kann eine starke Bereicherung sein. Sie können die Ausgabe so spezifisch wie nötig filtern, indem Sie die riesige Auswahl an verfügbaren Optionen verwenden, was es zu einem Kinderspiel macht, dies in Ihrem Sysadmin-Werkzeuggürtel zu behalten.