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.