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.