Váš systém Linux je vynikající platforma pro servery a desktopy. Ale jako každý jiný složitý systém je správné monitorování klíčové pro udržení vašeho systému na vrcholu. Naštěstí je Sysdig hned za rohem!
Sysdig je komplexní linuxový monitorovací nástroj, který dokáže monitorovat váš systém z hlediska hrozeb, chyb, vzorců používání a mnoha dalších. A v tomto tutoriálu se naučíte nainstalovat Sysdig a zároveň zdůrazňovat konkrétní možnosti konfigurace, jak lépe monitorovat váš systém Linux.
Čtěte dál a už nikdy nezmeškáte „upozornění“!
Předpoklady
Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující.
- Počítač Linux – Tento výukový program používá Ubuntu 20.04 LTS, ale budou fungovat všechny distribuce Linuxu.
- Uživatel bez oprávnění root s právy sudo.
Instalace Sysdig v systému Linux
Nástroj příkazového řádku Sysdig je obvykle dostupný ve většině moderních distribucí Linuxu a Sysdig můžete nainstalovat jako ostatní balíčky, které jste dosud nainstalovali na svůj počítač.
1. Otevřete terminál a spusťte apt update
níže, abyste zajistili, že máte nejnovější aktualizace z úložišť vaší distribuce. Tento příkaz aktualizuje seznamy balíčků vašeho systému a jeho dokončení může trvat několik minut.
sudo apt update -y
2. Dále spusťte apt install
příkaz níže ke stažení (curl
) a install
potřebné balíčky pro Sysdig. Tento příkaz také nainstaluje některé další moduly použité dále v tomto tutoriálu takto:
gnupg
– GNU Privacy Guard je nástroj pro bezpečnou komunikaci a ukládání dat. Tento balíček umožňuje stažení veřejného GPG klíče Sysdig pro ověření platnosti balíčků Sysdig.
software-properties-common
– Poskytuje rychlý způsob správy zdrojů softwaru prostřednictvím prostředí příkazového řádku nebo GUI. Tento balíček vám umožňuje používatadd-apt-repository
příkaz k přidání repozitářů balíčků Sysdig.
linux-headers-$(uname -r)
– Poskytuje potřebné soubory pro sestavení modulů jádra pro vaše běžící jádro. Tento balíček je vyžadován, protože můžete nainstalovat Sysdig na počítač se starším základním jádrem.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
3. Spusťte curl
příkaz níže pro přidání veřejného klíče Sysdig GPG (GPG
) do svazku klíčů vašeho APT. Tento příkaz vám umožní ověřit, že balíčky stažené z sysdig.com jsou platné a nezměněné.
curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -
Po úspěšném přidání klíče se zobrazí zpráva OK, jak je uvedeno níže.
4. Nyní spusťte curl
příkaz níže na ticho (-s
) stáhněte si úložiště Sysdig jako draios.list
a přidejte jej do svého systému. .list
rozšíření říká vašemu APT, že soubor je seznam adres URL pro úložiště, nikoli pouze jedna adresa URL.
curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list
5. Spusťte znovu apt update
příkaz níže ke stažení nových repozitářů Sysdig a aktualizaci seznamů balíčků vašeho APT o informace o nových úložištích.
sudo apt update -y
Pokud je váš APT správně nakonfigurován, uvidíte následující výstup.
6. Po stažení repozitářů Sysdig spusťte apt install
příkaz níže na install sysdig
na vašem stroji. Tento příkaz stáhne a nainstaluje sysdig
balíček a jeho podpůrné balíčky.
sudo apt install sysdig -y
7. Nakonec spusťte sysdig
příkaz níže pro kontrolu verze Sysdig nainstalované na vašem počítači.
sudo sysdig --version
Číslo verze pomáhá určit, zda je váš balíček Sysdig aktuální. Verze také poskytuje přehled o tom, zda vydání Sysdig ovlivní výkon systému.
Jak je ukázáno níže, 0.28.0 je nejnovější verzí sysdigu v době psaní tohoto článku. Číslo vaší verze se může lišit.
Monitorování systémů Linux pomocí csysdig
Nyní, když máte nainstalovaný Sysdig, můžete pomocí Sysdigu zjistit, co se děje s vaším systémem. Nástroj příkazového řádku Sysdig má mnoho příznaků, které vám poskytují různé pohledy na váš systém a jeho činnost. Nejzákladnějším příkladem je csysdig
příkaz.
Spusťte příkaz csysdig
bez jakýchkoli příznaků, abyste viděli, co se právě děje ve vašem systému. Příkaz vám ukáže aktivitu všech aktuálně spuštěných procesů.
Upozorňujeme, že příkazy Sysdig musíte spouštět s
sudo
oprávnění mít plný přístup k vašemu systému. Některé systémové aktivity mohou být před uživateli bez oprávnění root ve výchozím nastavení skryty, například výstup systému souborů /proc. Sysdig také vyžadujesudo
oprávnění k automatickému načítání symbolů jádra nezbytných k provádění mnoha jeho triků, jako je modul jádra sysdig-probe
sudo csysdig
Pokud narazíte na následující chybu, budete muset znovu nainstalovat ncurses-term
balík. ncurses-term
balíček má tendenci se po nové instalaci Sysdig poškodit. Sysdig závisí na ncurses-term
balíček pro podporu jeho uživatelského rozhraní ncurses.
Pokud csysdig
Pokud je příkaz úspěšný, získáte následující výstup uspořádaný do karet.
Popis | |
PID | ID procesu přiřazené jádrem Linuxu. PID používáte k identifikaci a správě procesů. |
PPID | ID nadřazeného procesu procesu. Pomocí PPID můžete proces zpětně sledovat prostřednictvím jeho nadřazených procesů. Společně PID a PPID jednoznačně identifikují proces ve vašem systému. |
CPU | Procento využití procesoru aplikací od spuštění lze zobrazit na stupnici od 0 do 100 %, kde 100 % se rovná celkovému využití procesoru. Využití procesoru používáte k nalezení aplikací, které zatěžují systémové prostředky. |
USER | Jméno uživatele, který spustil proces. Pomocí USER zjistíte, kdo provádí proces, který vás zajímá. |
TH | Jméno uživatele, který spustil proces. Pomocí USER zjistíte, kdo provádí proces, který vás zajímá. |
VIRT | Celkové množství virtuální paměti používané aplikací. VIRT používáte k nalezení aplikací, které zatěžují paměť vašeho systému. |
RES | Počet stránek rezidentní paměti, které má proces, podle mapování na fyzickou paměť. Pomocí RES najdete aplikace, které zatěžují paměť vašeho systému. |
SOUBOR | Deskriptor souboru disku používaný aplikací. Pomocí FILE můžete vidět, které soubory jsou často čteny nebo zapisovány, což je obvykle indikace I/O aktivity. |
NET | Deskriptor síťového soketu používaný aplikací. Pomocí NET zjistíte, která síťová připojení jsou procesem používána a kolik dat se přenáší v bajtech za sekundu. |
Příkaz | Deskriptor síťového soketu používaný aplikací. Pomocí NET zjistíte, která síťová připojení jsou procesem používána a kolik dat se přenáší v bajtech za sekundu. |
Na první pohled vypadá rozhraní csysdig podobně jako monitorovací nástroje jako htop.
Stiskněte F2 a horní záložky se změní a zobrazí novou sadu informací uspořádaných do záložek vlevo, jak je znázorněno níže.
Sysdig nazývá tyto „pohledy“, protože se jedná o různé systémové pohledy, organizované podle druhu informací, které zobrazují, a nabízejí více kontextu. A protože jsou tato zobrazení založena na skriptech LUA, můžete si skripty přizpůsobit tak, aby extrahovaly různá data ze systému a změnily zobrazení, jak chcete.
Ve výchozím nastavení jsou skripty LUA umístěny v /usr/share/sysdig/chisels adresář, jak je uvedeno níže.
ls /usr/share/sysdig/chisels
Monitorování procesů spotřebovávajících CPU pomocí Sysdig Chisels
Sysdig nabízí několik sekáčů připravených k použití, které automaticky shromažďují specifické systémové informace, známé jako „sekáče“. Možná máte na svém CPU pomalý výkon. Pokud ano, spusťte sysdig
příkaz s určeným sekáčem vám umožní zobrazit, které aplikace/procesy zabírají většinu vašeho CPU.
1. Spusťte sysdig
příkazem níže zobrazíte seznam dostupných dlát.
sudo sysdig -cl
Níže uvedený snímek obrazovky ukazuje pouze několik dlát. Kompletní seznam všech dostupných sekáčů ale můžete najít a naučit se v oficiální dokumentaci.
Sysdig sekáče jsou také LUA skripty. Můžete vytvořte si vlastní sekáče pro sledování konkrétních systémových informací nebo implementaci vlastního pohledu, ale toto téma přesahuje rámec tohoto tutoriálu.
2. Dále spusťte níže uvedený příkaz, abyste viděli podrobné informace (-i
) o konkrétním sekáči, například topprocs_cpu
v této ukázce.
sudo sysdig -i topprocs_cpu
Všechny informace o sekáči topprocs_cpu můžete vidět níže, včetně názvu, kategorie a stručného popisu toho, co sekáč dělá.
V tomto příkladu je sekáč topprocs_cpu kategorizován jako využití CPU a zobrazuje nejvyšší proces definovaný nejvyšším využitím CPU.
Jakmile pochopíte funkčnost dláta, můžete jej začít používat.
3. Spusťte sysdig
níže uvedený příkaz s uvedením správného sekáče (-c topprocs_cpu
), abyste našli aplikace využívající nejvyšší množství CPU ve vašem systému.
sudo sysdig -c topprocs_cpu
Sysdig v této ukázce zachytí 10 procesů s nejvyšší spotřebou CPU a vytiskne je na terminálu. Proces, který je nejvíce náročný na CPU, bude zobrazen nahoře (sshd), takže bude rychlejší.
Monitorování filtrovaných systémových informací
V některých případech je výstup enormní, takže je obtížné filtrovat systémové informace na základě konkrétního sekáče. Naštěstí Sysdig nabízí výkonnou možnost filtrování, která používá syntaxi Lua, takže můžete provádět efektivní filtrování.
Předpokládejme, že hledáte pouze procesy sshd, které přispívají k vysokému využití CPU. Výraz filtru můžete definovat konkrétním PID nebo názvem procesu.
Spusťte níže uvedený sysdig
příkaz zobrazí pouze sshd
proces, který využívá hodně CPU.
sudo sysdig proc.name=sshd
Jak je ukázáno níže, získáte filtrovaný výstup, aniž byste získali další informace o procesu.
Z výstupu můžete získat více informací o procesu sshd, například proč proces sshd využívá více CPU nebo paměti a tak dále.
Vytvoření souboru protokolu událostí pro monitorování systému
Jednou ze skvělých funkcí, které Sysdig nabízí, jsou soubory protokolu událostí, které vám umožňují shromažďovat všechny informace o tom, co vaše aplikace nebo systém dělá, pro pozdější analýzu. Soubory protokolu událostí poskytují stejné informace jako výstupy příkazového řádku v předchozích příkladech, ale jsou uloženy do souboru na disku.
1. Spusťte níže uvedený příkaz pro vytvoření souboru (-w
) s názvem ata.scap
ve vašem domovském adresáři, kam Syslog uloží všechny sysdig
výstupy.
Přípona souboru .scap umožňuje ukládání datových proudů ve formě pro člověka čitelného textu.
sudo sysdig -w ata.scap
2. Dále spusťte ls -la
příkaz níže k zobrazení seznamu všech souborů v pracovním adresáři.
ls -la
Ve svém domovském adresáři si všimnete nového souboru s názvem ata.scap, jak je znázorněno níže.
3. Nakonec spusťte níže uvedený příkaz, který Sysdig přečte (-r
) soubor protokolu událostí Sysdig (ata.scap
) a vytisknout chování vašeho systému, když na váš server připojíte SSH.
sudo sysdig -r ata.scap
Závěr
V tomto článku jste se naučili, jak nainstalovat Sysdig na Ubuntu 20.04 a jak používat csysdig ke shromažďování informací o vašem systému, aplikacích a zabezpečení. Dotkli jste se také vytvoření souboru protokolu událostí, který vám umožní zaznamenat chování vašeho systému.
V tuto chvíli jste si uvědomili, že instalace Sysdigu ve vašem systému vám poskytuje výkonné nástroje. A tyto nástroje vám pomohou získat více informací o tom, jak váš systém, aplikace a infrastruktura fungují.
Nyní, s těmito nově nalezenými znalostmi, proč se nenaučit dekódovat váš HTTP provoz pomocí Sysdig? Nebo jak pomocí sledovačů Sysdig vysledovat úzká místa aplikací?