GNU/Linux >> LINUX-Kenntnisse >  >> Linux

On-Demand-Linux-Schnittstellenanalyse mit iftop

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.


Linux
  1. Linux-Paketverwaltung mit apt

  2. Was ist neu bei rdiff-backup?

  3. Warum ich bei xterm bleibe

  4. JQ-Befehl in Linux mit Beispielen

  5. IFTOP-Leitfaden:Bandbreitennutzung der Netzwerkschnittstelle unter Linux anzeigen

Passen Sie einen Intel NUC mit Linux an

wc Linux-Befehl mit Beispielen

10 Beispiele für iftop-Befehle unter Linux

Linux-IP-Befehl mit Beispielen

15 Linux-PS-Befehl mit Beispielen

ip-Befehl unter Linux mit Beispielen