Zde uvidíme kroky k instalaci Sysdig, linuxového nástroje pro monitorování systému nebo serveru na CentOS, Redhat, Debian Ubuntu 20.04/18.04/16.04 spolu s dalšími verzemi mimo LTS včetně Linux Mint a Elementary OS.
Co je monitorovací nástroj Sysdig Linux?
Sysdig je open-source alternativní nástroj k top, iotop, iftop, strace, tcpdump, htop, iftop, lsof a sledování transakcí. Poskytuje kompletní přehled o využití CPU, paměti, IO, uživatelů a dalších přímo na příkazovém terminálu v dobře strukturovaném rozhraní. Sysdig lze nainstalovat na téměř všechny operační systémy, dokonce i na Windows a OS X.
požadavky
- Server nebo počítač Ubuntu
- Chcete-li provést všechny příkazy v tomto tutoriálu, musíte mít uživatelský přístup root nebo s uživatelem bez oprávnění root s právy sudo .
Krok 1:Aktualizujte systém
Spusťte příkaz aktualizace systému, abyste zajistili, že všechna úložiště a další nainstalované balíčky jsou v nejnovějším stavu.
sudo apt update
Krok 2:Nainstalujte Sysdig na různé systémy Linux
Ubuntu 20.04/18.04 nebo starší
V nejnovějším operačním systému Ubuntu a Linux Mint nepotřebujeme přidávat žádné úložiště a můžeme nainstalovat Sysdig pomocí jediného příkazu, tj.
sudo apt install sysdig
Nicméně v Debianu a dalších linuxových distribucích na něm založených spusťte níže uvedený skript, který nejen přidá jeho repo, ale také nainstaluje Sysdig.
Před spuštěním skriptu spusťte příkaz k instalaci curl a dalších softwarových společných vlastností pomáhá APT efektivně spravovat software z různých zdrojů.
sudo apt -y install software-properties-common curl
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
Instalace je plně automatizovaná a nevyžaduje žádný další zásah.
Instalace Sysdig na CentOS, RHEL, Fedora, Amazon Linux
Přidejte úložiště yum
sudo rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
sudo yum -y install sysdig
nebo
sudo dnf -y install sysdig
Instalace Sysdig na CentOS
Instalace Docker Sysdig
docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig
Krok 3:Jak používat příkazy Sysdig
První jednoduchý příkaz Sysdig pro zobrazení běžícího procesu, spotřeby paměti a další; jednoduše napište:
sudo csysdig
Spouštíme to pomocí sudo, protože Sysdig potřebuje přístup k některé klíčové oblasti systému, jako je souborový systém /proc, zařízení /dev/sysdig* a další, aby vám poskytl aktuální zatížení a další informace.
Něco jako níže uvedený výstup uvidíte…
PID :Proces PID.
CPU :Množství CPU použitého procesem.
TH :Počet vláken, která proces obsahuje.
VIRT :Celková virtuální paměť pro proces.
RES :Rezidentní nevyměněná paměť pro proces.
FILE :Celková (vstupní + výstupní) šířka pásma I/O souboru generovaná procesem, v bajtech za sekundu.
NET :Celková (vstup+výstup) síťová I/O šířka pásma generovaná procesem, v bajtech za sekundu.
Příkaz :Úplný příkazový řádek procesu
Příkaz Sysdig pro zobrazení systémového procesu
Na výše uvedeném snímku obrazovky , můžete vidět aktuálně běžící procesy, příkaz a jejich vliv na využití systému (vytížení CPU a paměti). Nabídka nebo přiřazení kláves se nachází ve spodní části. Stisknutím tlačítka F2 vyvolá další nabídku, zde si můžete vybrat, na co se chcete podívat.
Rychlý příkaz Sysdig pro monitorování systému Linux
Na výše uvedeném snímku obrazovky můžete vidět klíčové věci které potřebujeme sledovat, se zobrazují na levém bočním panelu v terminálu Command. Pomocí kláves se šipkami si můžete vybrat, co vás zajímá, a poté stisknout Enter klíč, který přepne rozhraní na odpovídající filtr.
Chcete-li například otestovat připojení vybrali jsme to a níže zobrazené.
Monitorování připojení pomocí Sysdig
To vám ukazuje, která připojení jsou aktuálně připojena k serveru, například aktivní relace SSH spolu se serverem plex media. Pokud se chcete ponořit více do hloubky, abyste se o něm dozvěděli více, stiskněte F6 .
Hloubková analýza síťových připojení
Stejným způsobem vyberte Chyby zobrazí všechny procesy, které selhaly. Jsou seřazeny podle frekvence, ve které se vyskytují.
Chcete-li vědět o procesu a celkovém CPU, které používají, vyberte „Proces CPU ” a stiskněte Enter Klíč.
PID :Proces PID.
TOT :Celkové množství CPU použitého procesem (uživatel + systém).
USER :Množství uživatelského CPU použitého procesem.
SYS :Množství systémového CPU použitého procesem.
SYSCALLS :Počet systémových volání za sekundu uskutečněných procesem.
Příkaz :Úplný příkazový řádek procesu.
proces a celkový CPU
V části Seznam otevřených souborů , například najdete seznam všech souborů, ke kterým se aktuálně přistupuje, a kdo nebo který program k nim přistupuje.
I/O podle typu: ukazuje, který proces nebo který spouštěč aktuálně zapisuje a čte, kolik na datovém médiu. Jedná se o přenosovou rychlost, celkový počet přenesených dat zde nelze zobrazit.
VSTUP BPS: Bajty za sekundu načtené z FD konkrétního typu.
BPS OUT :Bajty za sekundu zapsané na FD konkrétního typu.
IOPS :Počet I/O operací pro zadanou kategorii I/O. To počítá všechny operace se souborem, včetně otevření, zavření, čtení, zápisu, statistik atd. V důsledku toho může být tato hodnota nonK8s Services nulová, i když I/O bajty pro soubor jsou nulové.
TIME :Čas strávený procesy prováděním jakékoli I/O operace (včetně čekání) tohoto typu.
Typ I/O :Typ I/O. Může to být soubor, adresář, ipv4, ipv6, roura, Unix, signál, událost, rámce inotifMesos a
I O podle typu
Pod Spy Users , najdete seznam všech procesů, které byly volány uživateli – nikoli systém nebo jiné procesy. Zde můžete vidět seznam všech příkazů, které jsou spouštěny interaktivně, tj. které mají shell jako nadřazený proces. Výsledkem Soubory je zobrazení veškeré aktivity uživatele seřazené podle času.
ČAS :Čas, kdy byl příkaz proveden.
USER :Jméno uživatele spouštějícího příkaz.
SHELL :Pid shellu, kde byl tento příkaz proveden. To v podstatě odpovídá ‚ID relace‘. Můžete filtrovat nebo třídit podle tohoto sloupce a izolovat konkrétní interaktivní uživatelskou relaci.
Příkaz :Provedený příkaz, včetně argumentů.
Podobně , můžeme prozkoumat další možnosti monitorování našich systémů Linux.
Pokud chcete získat některé konkrétní podrobnosti o systému, jako je CPU, síť a další, můžete také použít odpovídající přímý příkaz. Stejně jako v čisté verzi příkazového řádku je zde tolik nastavení, proměnných a filtrů, že je zde nechci všechny vypisovat. Kompletní seznam všech funkcí naleznete na oficiální Sysdig Wiki.
Zde je několik z nich:
Chcete-li přímo sledovat proces podle využití procesoru, použijte tento příkaz:
sudo sysdig -c topprocs_cpu
příkaz sysdig CPU process monitor
Příkaz pro sledování obou síťových připojení
sudo sysdig -c netstat
Všechna síťová připojení Linux
Chcete-li zobrazit nejlepší síťová připojení a proces podle síťového vstupu/výstupu
sudo sysdig -c topconns
sudo sysdig -c topprocs_net
Další rychlé příkazy lze zobrazit pomocí příkazu:
sudo sysdig -cl
Následují příkazy podle kategorií:
Například chci vidět protokol požadavků HTTP, první příkaz uvedený v seznamu níže. Chcete-li to použít, jednoduše zadejte
sudo sysdig -c httplog
Tučně vytištěný je příkaz…
Category: Application --------------------- httplog HTTP requests log httptop Top HTTP requests memcachelog memcached requests log Category: CPU Usage ------------------- spectrogram Visualize OS latency in real time. subsecoffset Visualize subsecond offset execution time. topcontainers_cpu Top containers by CPU usage topprocs_cpu Top processes by CPU usage Category: Errors ---------------- topcontainers_error Top containers by number of errors topfiles_errors Top files by number of errors topprocs_errors top processes by number of errors Category: I/O ------------- echo_fds Print the data read and written by processes. fdbytes_by I/O bytes, aggregated by an arbitrary filter field fdcount_by FD count, aggregated by an arbitrary filter field fdtime_by FD time group by iobytes Sum of I/O bytes on any type of FD iobytes_file Sum of file I/O bytes spy_file Echo any read/write made by any process to all files. Optionally, you can provide the name of one file to only intercept reads /writes to that file. stderr Print stderr of processes stdin Print stdin of processes stdout Print stdout of processes topcontainers_file Top containers by R+W disk bytes topfiles_bytes Top files by R+W bytes topfiles_time Top files by time topprocs_file Top processes by R+W disk bytes udp_extract extract data from UDP streams to files. Category: Logs -------------- spy_logs Echo any write made by any process to a log file. Optionally, export the events around each log message to file. spy_syslog Print every message written to syslog. Optionally, export the events around each syslog message to file. Category: Misc -------------- around Export to file the events around the time range where the given filter matches. Category: Net ------------- iobytes_net Show total network I/O bytes spy_ip Show the data exchanged with the given IP address spy_port Show the data exchanged using the given IP port number topconns Top network connections by total bytes topcontainers_net Top containers by network I/O topports_server Top TCP/UDP server ports by R+W bytes topprocs_net Top processes by network I/O Category: Performance --------------------- bottlenecks Slowest system calls fileslower Trace slow file I/O netlower Trace slow network I/0 proc_exec_time Show process execution time scallslower Trace slow syscalls topscalls Top system calls by number of calls topscalls_time Top system calls by time Category: Security ------------------ list_login_shells List the login shell IDs shellshock_detect print shellshock attacks spy_users Display interactive user activity Category: System State ---------------------- lscontainers List the running containers lsof List (and optionally filter) the open file descriptors. netstat List (and optionally filter) network connections. ps List (and optionally filter) the machine processes. Category: Tracers ----------------- tracers_2_statsd Export spans duration as statds metrics. Use the -i flag to get detailed information about a specific chisel
Chcete-li znát všechny související příkazy a další informace s příkladem pro sysdig
a csysdig
nástrojů můžete vidět jejich manuálovou stránku:
man sysdig
man csysdig
Konec poznámek pro Sysdig
Sysdig je velmi rozsáhlý nástroj pro sledování aktuálního stavu a zatížení vašeho systému. Zatímco s Csysdig nabízí vám pohodlné interaktivní rozhraní založené na příkazovém řádku v konzole pro efektivní práci. Pomocí samotného nástroje příkazového řádku můžete vytvářet efektivní skripty a vytvářet své vlastní soubory protokolu.
Další výukové programy pro Linux:
- Jak změnit časový limit nabídky GRUB při spouštění?
- Výukový program k instalaci serveru OpenSSH na Ubuntu 20.04 LTS