GNU/Linux >> Znalost Linux >  >> Linux

Analýza rozhraní Linuxu na vyžádání s iftop

Ocitli jste se někdy v situaci, kdy potřebujete vědět, kdo využívá celou vaši šířku pásma a na co ji využívá? Určitě ano a chci vám představit nástroj, který vám může pomoci na tuto otázku odpovědět. Když jsem pracoval jako správce podpory, běžně jsem se přistihl, že se snažím spouštět úlohy replikace, které na rozhraní vázly. Rozhraní a související hardware byly více než schopné posouvat až 10 Gb. Z toho jsem však viděl jen asi 3Gb. Vyvstává tedy otázka, zejména na vyhrazeném rozhraní, kdo vypaluje veškerou šířku pásma? Nebo je ve hře jiný problém?

Nejlepší techniky pro odstraňování problémů jsou rychlé a snadné kroky, které podniknete k odstranění jednoho z mnoha potenciálních výsledků. Zadejte iftop .

Co to dělá?

Podobně jako top a htop, iftop příkaz se používá k využití prostředků ve vašem systému. Konkrétně sleduje šířku pásma aktivních ethernetových rozhraní. Při aplikaci na situaci, kterou jsem popsal výše, můžete spustit iftop Chcete-li zjistit, co skutečně využívá šířku pásma přes rozhraní replikace dat. To může být neuvěřitelně efektivní, když zvážíte, jak dlouho vám může trvat, než dojdete k tomuto závěru řešením problémů se samotným rozhraním. Neexistuje žádný problém, pouze přemíra aktivity na rozhraní.

Podívejme se na proces instalace a používání tohoto praktického nástroje.

Instalace

Před instalací iftop potřebujete několik nezbytných balíčků. Je třeba nainstalovat libpcap (který se používá pro zachycení dat rozhraní v reálném čase), stejně jako libncurses (API používané pro vytváření textových rozhraní nezávislých na terminálu). K demonstraci tohoto nástroje používám Fedora 32 VM. Pokud používáte jiný OS, bude se vaše instalace mírně lišit. Instalace:

    [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!

Jakmile budete mít nainstalované nezbytné balíčky, můžete nainstalovat skutečný iftop nástroj:

    [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!

[ Čtenářům se také líbilo: 11 linuxových příkazů, bez kterých nemohu žít ]

Základní použití

Jakmile budete mít nainstalovány všechny požadované balíčky, spusťte iftop získat pocit z výstupu a prezentovaných informací. Mějte na paměti, že bez možnosti iftop poběží proti výchozímu rozhraní (ve většině případů eth0).

Chcete-li spustit výchozí příkaz:

[root@client ~]# iftop

Zleva doprava si všimněte následujícího:

  • Vyřešené názvy hostitelů (zdroj nebo cíl, označené šipkami)
  • Průměrné rychlosti přenosu dat (intervaly 2, 10, 40 sekund)

Ve spodní části výstupu uvidíte přenosové rychlosti TX (přeneseno) RX (přijato) CELKOVÉ přenosové rychlosti. K dispozici jsou také údaje pro kumulativní součty a průměry a také maximální čísla.

Konkrétní

Jakkoli je tento nástroj výkonný, může na vás v rušném prostředí vrhnout příliš mnoho informací. Abychom tento problém obešli, použijeme konkrétní možnosti k odfiltrování prezentovaného výstupu. Ve scénáři, který jsem popsal výše, bych chtěl vidět pouze analýzy kolem konkrétního replikačního rozhraní, které jsem se snažil použít. Abychom se podívali na konkrétní rozhraní, přidáme -i možnost.

[tcarrigan@client ~] $ sudo iftop -i enp0s3

Zde můžeme vidět stejné informace prezentované jako dříve. To se však týká pouze rozhraní enp0s3 .

Pokud chcete zobrazit informace o IP, použijte -n příznak pro deaktivaci rozlišení názvu hostitele.

[tcarrigan@client ~] $ sudo iftop -n

Z výše uvedeného snímku obrazovky můžete vidět, že IP adresy jsou nyní viditelné. To může být mnohem jednodušší způsob odstraňování problémů ve velkých prostředích, kde se názvy hostitelů mohou stát matoucími.

Existují různé další možnosti, které můžete využít, abyste skutečně vytočili informace, které vám jsou předloženy. Následující seznam je stažen přímo z manuálové stránky, kterou lze nalézt spuštěním man iftop .

[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ] 

Shrnutí

Pokud jste se dostali až sem, podívali jste se na nástroj, který nabízí iftop a možnosti cíleného použití. Když potřebujete zjistit, jaká šířka pásma se používá a kam směřuje nebo odkud, iftop může být mocným přínosem. Jeho výstup můžete filtrovat, aby byl tak konkrétní, jak potřebujete, pomocí obrovské škály dostupných možností, díky čemuž je snadné mít je na opasku s nástroji správce systému.


Linux
  1. Správa balíků Linux pomocí apt

  2. Průvodce IFTOP:Využití šířky pásma rozhraní Display Network v systému Linux

  3. RTL8188CUS AP a režim klienta současně s hostapd v Linuxu?

  1. Co je nového s rdiff-backup?

  2. Proč se držím xtermu

  3. JQ Command v Linuxu s příklady

  1. Vytvářejte hudbu na Linuxu s Ardorem

  2. Upravujte zvuk na Linuxu pomocí Audacity

  3. Instalujte aplikace na Linux pomocí Flatpak