Vyhledávání na webu

20 nezbytných nástrojů příkazového řádku pro sledování výkonu Linuxu


Být správcem systému nebo sítě, který má za úkol denně monitorovat a ladit problémy s výkonem systému Linux, je nesmírně náročná odpovědnost.

Vyžaduje to neochvějné odhodlání, hluboké porozumění linuxovým systémům a neustálý závazek k zajištění optimálního výkonu a spolehlivosti.

Poté, co jsem deset let zasvětil práci linuxového administrátora v IT průmyslu, jsem skutečně ocenil náročný úkol monitorování a zajištění nepřetržitého provozu systémů.

Ve světle toho jsme sestavili obsáhlý seznam 20 nejčastěji používaných nástrojů pro monitorování příkazového řádku. Tyto neocenitelné nástroje se mohou ukázat jako nepostradatelné pro každého správce systému Linux/Unix a umožňují mu efektivně monitorovat, diagnostikovat a udržovat stav a výkon jejich systémů.

Tyto monitorovací nástroje jsou dostupné ve všech variantách Linuxu a mohou být užitečné pro sledování a hledání skutečných příčin problémů s výkonem. Tento seznam zde zobrazených příkazů je dostatečný k tomu, abyste si vybrali ten, který je vhodný pro váš scénář monitorování.

1. Nahoru – Linux Process Monitoring

Příkaz top pro Linux je program pro sledování výkonu, který často používá mnoho správců systému ke sledování výkonu systému Linux a je k dispozici v mnoha operačních systémech Linux/Unix.

Příkaz top se používá k zobrazení všech běžících a aktivních procesů v reálném čase v uspořádaném seznamu a pravidelně jej aktualizuje. Zobrazuje Využití CPU, Využití paměti, Odkládací paměť, Velikost mezipaměti, Velikost vyrovnávací paměti , Zpracovat PID, Uživatel, Příkazy a mnoho dalších.

Ukazuje také vysoké využití paměti a CPU běžícími procesy. Příkaz top je velmi užitečný pro správce systému, aby mohli monitorovat a v případě potřeby provádět nápravná opatření. Podívejme se na horní příkaz v akci.

top

2. VmStat – Statistika virtuální paměti

Linuxový příkaz VmStat se používá k zobrazení statistik virtuální paměti, vlákna jádra, disků, systémových procesů , I/O bloky, přerušení, Aktivita CPU a mnoho dalšího.

Nainstalujte VmStat na Linux

Ve výchozím nastavení není příkaz vmstat v systémech Linux k dispozici, musíte nainstalovat balíček s názvem sysstat (výkonný monitorovací nástroj), který obsahuje program vmstat.

sudo yum install sysstat      [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat        [On Arch Linux]

Běžné použití formátu příkazu vmstat je.

vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0  43008 275212   1152 561208    4   16   100   105   65  113  0  1 96  3  0

3. Lsof – Seznam otevřených souborů

Příkaz lsof se používá v mnoha systémech Linux/Unix k zobrazení seznamu všech otevřených souborů a procesů. Mezi otevřené soubory patří soubory na disku, síťové zásuvky, potrubí, zařízení a procesy silný>.

Jedním z hlavních důvodů použití tohoto příkazu je situace, kdy disk nelze odpojit a zobrazí se chyba, že se soubory používají nebo otevírají. Pomocí tohoto příkazu můžete snadno identifikovat, které soubory se používají.

Nejběžnějším formátem příkazu lsof je.

lsof

COMMAND     PID   TID TASKCMD             USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd       1                           root  cwd       DIR                8,2      224        128 /
systemd       1                           root  rtd       DIR                8,2      224        128 /
systemd       1                           root  txt       REG                8,2  1567768  134930842 /usr/lib/systemd/systemd
systemd       1                           root  mem       REG                8,2  2714928  134261052 /usr/lib64/libm-2.28.so
systemd       1                           root  mem       REG                8,2   628592  134910905 /usr/lib64/libudev.so.1.6.11
systemd       1                           root  mem       REG                8,2   969832  134261204 /usr/lib64/libsepol.so.1
systemd       1                           root  mem       REG                8,2  1805368  134275205 /usr/lib64/libunistring.so.2.1.0
systemd       1                           root  mem       REG                8,2   355456  134275293 /usr/lib64/libpcap.so.1.9.0
systemd       1                           root  mem       REG                8,2   145984  134261219 /usr/lib64/libgpg-error.so.0.24.2
systemd       1                           root  mem       REG                8,2    71528  134270542 /usr/lib64/libjson-c.so.4.0.0
systemd       1                           root  mem       REG                8,2   371736  134910992 /usr/lib64/libdevmapper.so.1.02
systemd       1                           root  mem       REG                8,2    26704  134275177 /usr/lib64/libattr.so.1.1.2448
systemd       1                           root  mem       REG                8,2  3058736  134919279 /usr/lib64/libcrypto.so.1.1.1c
...

4. Tcpdump – Network Packet Analyzer

Příkaz tcpdump je jedním z nejrozšířenějších programů příkazového řádku analyzátoru síťových paketů nebo packet sniffer, který se používá k zachycení nebo filtrování TCP/IPpakety, které jsou přijímány nebo přenášeny na určitém rozhraní přes síť.

Poskytuje také možnost uložit zachycené balíčky do souboru pro pozdější analýzu. tcpdump je téměř dostupný ve všech hlavních distribucích Linuxu.

tcpdump -i enp0s3

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
10:19:34.635893 IP tecmint.ssh > 192.168.0.124.45611: Flags [P.], seq 2840044824:2840045032, ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611 > tecmint.ssh: Flags [.], ack 208, win 11768, options 
10:19:34.873060 IP _gateway.57682 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.873104 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.895453 IP _gateway.48953 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.895501 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP, length 45
10:19:35.010127 IP 192.168.0.124.38874 > 142.250.4.189.https: UDP, length 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
...

5. Netstat – Statistika sítě

netstat je nástroj příkazového řádku pro sledování statistik příchozích a odchozích síťových paketů a také statistik rozhraní. Je to velmi užitečný nástroj pro každého správce systému ke sledování výkonu sítě a odstraňování problémů se sítí.

netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN
tcp        0      0 tecmint:domain          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:postgres      0.0.0.0:*               LISTEN
tcp        0      0 tecmint:ssh             192.168.0.124:45611     ESTABLISHED
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:postgres      [::]:*                  LISTEN
udp        0      0 0.0.0.0:mdns            0.0.0.0:*
udp        0      0 localhost:323           0.0.0.0:*
udp        0      0 tecmint:domain          0.0.0.0:*
udp        0      0 0.0.0.0:bootps          0.0.0.0:*
udp        0      0 tecmint:bootpc          _gateway:bootps         ESTABLISHED
...

Zatímco v dnešní době byl netstat zastaralý ve prospěch příkazu ss, stále můžete najít netstat ve své sadě síťových nástrojů.

6. Htop – Linux Process Monitoring

htop je velmi pokročilý interaktivní nástroj pro monitorování procesů Linuxu v reálném čase, který je velmi podobný linuxovému top příkazu, ale má některé bohaté funkce, jako je uživatel- přívětivé rozhraní pro správu procesů, klávesové zkratky, vertikální a horizontální pohledy na procesy a mnoho dalšího.

htop

htop je nástroj třetí strany, který se nedodává se systémy Linux, je třeba jej nainstalovat pomocí nástroje správce systémových balíčků.

Další informace o instalaci htop najdete v našem článku – Instalace Htop (Linux Process Monitoring) v Linuxu.

7. Iotop – Monitorování I/O disku Linux

iotop je také hodně podobný top command a htop programu, ale má účetní funkci pro sledování a zobrazování v reálném čase Disk I/Oa procesy.

Nástroj iotop je velmi užitečný pro nalezení přesného procesu a velmi používaného čtení/zápisu procesů na disk.

Nainstalujte Iotop na Linux

Ve výchozím nastavení není příkaz iotop v systému Linux k dispozici a je třeba jej nainstalovat podle obrázku.

sudo yum install iotop      [On Older CentOS/RHEL & Fedora]
sudo dnf install iotop      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install iotop  [On Debian/Ubuntu & Mint]
sudo pacman -S iotop        [On Arch Linux]

Běžné použití formátu příkazů iotop je.

iotop

8. Iostat – Input/Output Statistics

iostat je jednoduchý nástroj, který bude shromažďovat a zobrazovat systémové vstupy a výstupy statistiky úložných zařízení. Tento nástroj se často používá ke sledování problémů s výkonem úložných zařízení, včetně zařízení, místních disků a vzdálených disků, jako je NFS .

Nainstalujte Iostat na Linux

Chcete-li získat příkaz iostat, musíte nainstalovat balíček s názvem sysstat, jak je znázorněno na obrázku.

sudo yum install sysstat      [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat        [On Arch Linux]

Běžné použití formátu příkazu iostat je.

iostat

Linux 4.18.0-193.el8.x86_64 (tecmint)   04/05/2021      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.21    0.03    0.59    2.50    0.00   96.67

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               3.95        83.35        89.63    1782431    1916653

9. IPTraf – Real-Time IP LAN Monitoring

IPTraf je open-source konzolový nástroj pro monitorování sítě v reálném čase (IP LAN) pro Linux. Shromažďuje různé informace, jako je monitorování provozu IP, který prochází sítí, včetně informací o příznaku TCP, podrobností ICMP, zhroucení provozu TCP/UDP, paketů připojení TCP a počtu bajtů.

Shromažďuje také informace o obecných a podrobných statistikách rozhraní TCP, UDP, IP, ICMP, non-IP, chybách kontrolního součtu IP, aktivitě rozhraní atd.

10. Psacct nebo Acct – Sledování aktivity uživatele

Nástroje psacct nebo acct jsou velmi užitečné pro sledování aktivity každého uživatele v systému. Oba démoni běží na pozadí a bedlivě sledují celkovou aktivitu každého uživatele v systému a také to, jaké zdroje spotřebovávají.

Tyto nástroje jsou velmi užitečné pro systémové administrátory ke sledování aktivity každého uživatele, jako je to, co dělá, jaké příkazy vydal, kolik zdrojů využívají, jak dlouho jsou v systému aktivní atd.

11. Monit – Monitorování procesů a služeb Linuxu

Monit je bezplatný open source a webový nástroj pro dohled nad procesy, který automaticky monitoruje a spravuje systémové procesy, programy, soubory, adresáře, oprávnění, kontrolní součty a systémy souborů.

Monitoruje služby jako Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH a tak dále. Stav systému lze zobrazit z příkazového řádku nebo pomocí vlastního webového rozhraní.

Pro instalaci a konfiguraci si přečtěte náš článek – Jak nainstalovat a nastavit program Monit (Linux Process and Services Monitoring).

12. NetHogs – Monitorování šířky pásma sítě podle procesu

NetHogs je pěkný malý program s otevřeným zdrojovým kódem (podobný linuxovému top příkazu), který udržuje přehled o každé síťové aktivitě procesu ve vašem systému. Sleduje také šířku pásma síťového provozu v reálném čase, kterou používá každý program nebo aplikace.

nethogs

Pro instalaci a použití si přečtěte náš článek: Monitorování šířky pásma sítě Linux pomocí NetHogs

13. iftop – Sledování šířky pásma sítě

iftop je další bezplatný nástroj pro monitorování systému s otevřeným zdrojovým kódem založený na terminálu, který zobrazuje často aktualizovaný seznam využití šířky pásma sítě (zdrojový a cílový hostitel), který prochází síťovým rozhraním vašeho systému.

iftop je v kontextu využití sítě obdobou „top“, podobně jako „top“ poskytuje přehled o využití procesoru.

iftop patří do uznávané „top“ rodiny nástrojů pro monitorování sítě. Speciálně navržený tak, aby sledoval uživatelsky zvolené síťové rozhraní, vykresluje data v reálném čase o aktuálním využití šířky pásma mezi dvěma určenými hostiteli.

iftop

Pro instalaci a použití si přečtěte náš článek: iftop – Monitorování využití šířky pásma sítě

14. Monitorix – Monitoring systému a sítě

Monitorix je bezplatný odlehčený nástroj, který je navržen tak, aby spouštěl a monitoroval co nejvíce systémových a síťových prostředků na serverech Linux/Unix.

Má vestavěný webový server HTTP, který pravidelně shromažďuje informace o systému a síti a zobrazuje je v grafech. Sleduje průměrné zatížení a využití systému, přidělení paměti, stav ovladače disku, systémové služby, síť porty, statistiky pošty (Sendmail, Postfix, Dovecot atd.), MySQL statistiky,a mnoho dalších.

Je navržen tak, aby monitoroval celkový výkon systému a pomáhá při odhalování selhání, úzkých míst, abnormálních aktivit atd.

Pro instalaci a použití si přečtěte náš článek: Monitorix a nástroj pro monitorování systému a sítě pro Linux

15. Arpwatch – Ethernet Activity Monitor

Arpwatch je druh programu, který je navržen tak, aby monitoroval rozlišení adres (změn MAC a IP) Ethernet síťový provoz v síti Linux.

Nepřetržitě sleduje ethernetový provoz a vytváří protokol změn párů IP a MAC spolu s časovým razítkem v síti. Má také funkci zasílání e-mailových upozornění správcům, když je přidáno nebo se změní párování. Je velmi užitečný při zjišťování falšování ARP v síti.

Pro instalaci a použití si přečtěte náš článek: Arpwatch to Monitor Ethernet Activity

16. Suricata – Sledování bezpečnosti sítě

Suricata je vysoce výkonný open source Zabezpečení sítě a Detekce narušení a Monitorovací systém prevence pro Linux, FreeBSD a Windows.

Byl navržen a vlastněn neziskovou nadací OISF (Open Information Security Foundation).

Pro instalaci a použití si přečtěte náš článek: Suricata – Systém detekce a prevence narušení sítě

17. VnStat PHP – Monitorování šířky pásma sítě

VnStat PHP je webová frontendová aplikace pro nejpopulárnější síťový nástroj s názvem „vnstat“. VnStat PHP monitoruje využití síťového provozu v pěkně grafickém režimu.

Zobrazuje celkové využití síťového provozu IN a OUT v hodinových, denních, měsíčních, a úplný souhrn přehledů.

Pro instalaci a použití si přečtěte náš článek: Monitorování využití šířky pásma sítě

18. Nagios – Sledování sítě/serveru

Nagios je přední výkonný monitorovací systém s otevřeným zdrojovým kódem, který umožňuje správcům sítě/systému identifikovat a řešit problémy související se serverem dříve, než ovlivní hlavní podnikové procesy.

Se systémem Nagios mohou administrátoři monitorovat vzdálený Linux, Windows, přepínače, směrovače a tiskárny v jediném okně. Zobrazuje kritická varování a indikuje, pokud se ve vaší síti/serveru něco pokazilo, což vám nepřímo pomáhá zahájit procesy nápravy dříve, než k nim dojde.

Pro instalaci, konfiguraci a použití si přečtěte náš článek – Instalace monitorovacího systému Nagios pro monitorování vzdálených hostitelů Linux/Windows

19. Nmon: Monitorování výkonu Linuxu

Nástroj Nmon (zkratka pro Nigel’s Performance Monitor), který se používá ke sledování všech zdrojů Linuxu, jako je CPU, paměť, využití disku, síť, nejvyšší procesy, NFS, jádro a mnoho dalšího. Tento nástroj je k dispozici ve dvou režimech: Online Mode a Capture Mode.

Online režim se používá pro monitorování v reálném čase a režim snímání se používá k uložení výstupu ve formátu CSV pro pozdější zpracování.

Pro instalaci a použití si přečtěte náš článek: Instalace nástroje Nmon (Performance Monitoring) v Linuxu

20. Collectl: All-in-One nástroj pro sledování výkonu

Collectl je další výkonný a na funkce bohatý nástroj založený na příkazovém řádku, který lze použít ke shromažďování informací o systémových prostředcích systému Linux, jako je využití procesoru, paměť, síť, inody, procesy, nfs, TCP , zásuvky a mnoho dalšího.

Pro instalaci a použití si přečtěte náš článek: Instalace nástroje Collectl (All-in-One Performance Monitoring) v Linuxu

Rádi bychom věděli, jaké monitorovací programy používáte k monitorování výkonu vašich linuxových serverů. Pokud jsme vynechali nějaký důležitý nástroj, který byste chtěli, abychom do tohoto seznamu zařadili, informujte nás prosím prostřednictvím komentářů a nezapomeňte se o něj podělit.