Weboldal keresés

Sysdig – Hatékony rendszerfigyelő és hibaelhárító eszköz Linuxhoz


A Sysdig egy nyílt forráskódú, többplatformos, hatékony és rugalmas rendszerfigyelő és hibaelhárító eszköz Linuxhoz; Windows és Mac OSX rendszeren is működik, de korlátozott funkcionalitással, és rendszerelemzésre, ellenőrzésre és hibakeresésre használható.

Általában különféle Linux-teljesítmény-figyelő és hibaelhárító eszközök keverékét kell alkalmaznia, beleértve az alábbiakban felsoroltakat a Linux megfigyelési és hibakeresési feladatok elvégzéséhez:

  1. strace – rendszerhívások és jelek felfedezése egy folyamathoz.
  2. tcpdump – nyers hálózati forgalom figyelése.
  3. netstat – hálózati kapcsolatok figyelése.
  4. htop – valós idejű folyamatfigyelés.
  5. iftop – valós idejű hálózati sávszélesség figyelés.
  6. lsof – megtekintheti, hogy melyik folyamat mely fájlokat nyitja meg.

A sysdig azonban egyetlen és egyszerű programban integrálja a fenti eszközöket és még sok mást, méghozzá csodálatos konténer-támogatással. Lehetővé teszi a Linux rendszerek és a konténerek valós viselkedésének (eseményfolyamának) rögzítését, mentését, szűrését és vizsgálatát.

Parancssori felülettel és hatékony interaktív UI-val (csysdig) érkezik, amely lehetővé teszi a rendszertevékenységek valós időben történő megfigyelését, vagy nyomkövetési kiíratást és mentést későbbi elemzéshez. Az alábbi videóból megnézheti a csysdig működését.

A Sysdig jellemzői:

  • Gyors, stabil és könnyen használható, átfogóan jól dokumentált.
  • Natív támogatással érkezik a konténertechnológiákhoz, beleértve a Dockert, az LXC-t.
  • Lua nyelven írható; vésőket (könnyű Lua szkripteket) kínál a rögzített rendszeresemények feldolgozásához.
  • Támogatja a kimenet hasznos szűrését.
  • Támogatja a rendszer- és alkalmazáskövetést.
  • Integrálható Ansible, Puppet és Logstash programokkal.
  • Minta speciális naplóelemzés engedélyezése.
  • Ezen kívül Linux szervertámadás (kriminalisztika) elemzési funkciókat is kínál az etikus hackerek számára, és még sok minden mást.

Ebben a cikkben bemutatjuk, hogyan telepíthető a sysdig Linux rendszerre, és hogyan használható a rendszerelemzés, figyelés és hibaelhárítás alapvető példáival.

A Sysdig telepítése Linux alatt

A sysdig csomag telepítése olyan egyszerű, mint az alábbi parancs futtatása, amely ellenőrzi az összes követelményt; ha minden a helyén van, akkor letölti és telepíti a csomagot a Draios APT/YUM tárolóból.

curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash 
OR
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

A telepítés után a sysdig parancsot rootként kell futtatnia, mert hozzá kell férnie olyan kritikus területekhez, mint a /proc fájlrendszer, /dev/sysdig* > eszközök és automatikusan be kell töltenie a sysdig-probe kernelmodult (ha nem így lenne); egyébként használja a sudo parancsot.

A legalapvetőbb példa az argumentumok nélküli futtatás, amely lehetővé teszi, hogy megtekinthesse a Linux rendszer eseményfolyamát valós időben frissítve:

sudo sysdig

A fenti kimenetnek (nyers adatok) talán nincs sok értelme, a hasznosabb kimeneti futtatáshoz futtassa a csysdig programot:

sudo csysdig 

Megjegyzés: Az eszköz valódi érzésének eléréséhez a sysdig programot kell használnia, amely nyers adatokat állít elő, ahogy azt korábban láttuk, egy futó folyamatból. Linux rendszer: ehhez meg kell értened, hogyan kell használni a szűrőket és a vésőket.

De ha fájdalommentes eszközre van szüksége a sysdig használatához, folytassa a csysdig használatával.

A Sysdig vésők és szűrők megértése

A Sysdig vésők minimális Lua-szkriptek a sysdig eseményfolyam vizsgálatához, hasznos rendszerhibaelhárítási műveletek elvégzéséhez és egyebekhez. Az alábbi parancs segít az összes elérhető véső megtekintéséhez:

sudo sysdig -cl

A képernyőképen a különböző kategóriákba tartozó vésők mintalistája látható.

Ha további információkat szeretne megtudni egy adott vésőről, használja a -i jelzőt:

sudo sysdig -i topprocs_cpu

A Sysdig szűrők nagyobb teljesítményt adnak az eseményfolyamokból nyerhető kimenethez, lehetővé teszik a kimenet testreszabását. Ezeket a parancssor végén kell megadni.

Egy egyszerű és legáltalánosabb szűrő egy alapvető „class.field=value ” ellenőrzés, és a vésőket és a szűrőket is kombinálhatja a még hatékonyabb testreszabás érdekében.

Az elérhető mezőosztályok, mezők és leírásaik listájának megtekintéséhez írja be:


sudo sysdig -l

Linux rendszerkövetési fájl létrehozása

Ha a sysdig kimenetet egy fájlba szeretné kiírni későbbi elemzés céljából, használja a -w jelzőt ehhez hasonló módon.

A nyomkövetési dump fájlt a -r kapcsolóval olvashatja el:


sudo sysdig -r trace.scap

A -s kapcsolóval az egyes rendszereseményekhez rögzítendő adatbájtok mennyiségét lehet megadni. Ebben a példában a mongod folyamathoz szűrjük az eseményeket.

sudo sysdig -s 3000 -w trace.scap
sudo sysdig -r trace.scap proc.name=mongod

Linux folyamatok figyelése

A rendszerfolyamatok felsorolásához írja be:

sudo sysdig -c ps

A folyamatok figyelése CPU-használat szerint

A legfontosabb folyamatok CPU-használati százalék alapján történő megtekintéséhez futtassa ezt a parancsot:

sudo sysdig -c topprocs_cpu

Hálózati kapcsolatok és I/O figyelése

A rendszer hálózati kapcsolatainak megtekintéséhez futtassa:

sudo sysdig -c netstat

A következő parancs segít felsorolni a legnépszerűbb hálózati kapcsolatokat összes bájt szerint:

sudo sysdig -c topconns

Ezután hálózati I/O szerint is felsorolhatja a legfontosabb folyamatokat az alábbiak szerint:

sudo sysdig -c topprocs_net    

Monitoring System File I/O

A rendszer folyamatai által olvasott és írt adatokat az alábbiak szerint tudja kiadni:

sudo sysdig -c echo_fds

A legnépszerűbb folyamatok (olvasás + írás) lemezbájtok szerinti listázásához használja:

sudo sysdig -c topprocs_file   

A Linux rendszer teljesítményével kapcsolatos hibaelhárítás

A rendszer szűk keresztmetszete (lassú rendszerhívások) szemmel tartásához hajtsa végre ezt a parancsot:

sudo sysdig -c bottlenecks

Egy folyamat végrehajtási idejének nyomon követése

Egy folyamat végrehajtási idejének nyomon követéséhez futtassa ezt a parancsot, és kiírja a nyomkövetést egy fájlba:

sudo sysdig -w extime.scap -c proc_exec_time 

Ezután egy szűrő segítségével nullázza le egy adott folyamat részleteit (ebben a példában postgres) az alábbiak szerint:

sudo sysdig -r extime.scap proc.name=postgres

Fedezze fel a Slow Network I/0-t

Ez az egyszerű parancs segít a lassú hálózati I/0 észlelésében:

sudo sysdig -c netlower     

Naplófájl bejegyzések megtekintése

Az alábbi parancs segít megjeleníteni minden, a syslogba írt üzenetet, ha egy adott folyamat naplóbejegyzései érdeklik, hozzon létre egy nyomkövetési kiírást, és szűrje ki a fentiek szerint:

sudo sysdig -c spy_syslog      

Bármilyen folyamat által írt adatot kinyomtathat egy naplófájlba az alábbiak szerint:

sudo sysdig -c spy_logs   

HTTP szerver kérések figyelése

Ha a rendszerünkön HTTP-kiszolgáló, például Apache vagy Nginx fut, nézze át a szerver kérésnaplóját ezzel a paranccsal:

sudo sysdig -c httplog    
sudo sysdig -c httptop   [Print Top HTTP Requests] 

Jelenítse meg a bejelentkezési rendszerhéjakat és az interaktív felhasználói tevékenységet

Az alábbi paranccsal megtekintheti az összes bejelentkezési shell-azonosítót:

sudo sysdig -c list_login_shells

Végül, de nem utolsósorban megmutathatja a rendszerhasználók interaktív tevékenységét, például:

sudo sysdig -c spy_users

További használati információkért és példákért olvassa el a sysdig és a csysdig kézikönyvoldalait:

man sysdig 
man csysdig

Hivatkozás: https://www.sysdig.org/

Tekintse meg ezeket a hasznos Linux teljesítményfigyelő eszközöket is:

  1. BCC – Dinamikus nyomkövető eszközök Linux-teljesítményfigyeléshez, hálózatépítéshez és egyebekhez
  2. pyDash – Web alapú Linux teljesítményfigyelő eszköz
  3. Perf – Teljesítményfigyelő és -elemző eszköz Linuxhoz
  4. Collectl: Fejlett, többfunkciós teljesítményfigyelő eszköz Linuxhoz
  5. Netdata – Valós idejű teljesítményfigyelő eszköz Linux rendszerekhez
Következtetés

A Sysdig számos parancssori eszköz funkcionalitását egyesíti egyetlen figyelemre méltó felületen, így lehetővé teszi, hogy mélyre ásson a Linux rendszereseményekben, hogy adatokat gyűjtsön, elmentse őket későbbi elemzésekhez, és hihetetlen konténer-támogatást kínál.

Az eszközzel kapcsolatos kérdések feltevéséhez vagy gondolatainak megosztásához használja az alábbi visszajelzési űrlapot.