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:
- strace – rendszerhívások és jelek felfedezése egy folyamathoz.
- tcpdump – nyers hálózati forgalom figyelése.
- netstat – hálózati kapcsolatok figyelése.
- htop – valós idejű folyamatfigyelés.
- iftop – valós idejű hálózati sávszélesség figyelés.
- 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:
- BCC – Dinamikus nyomkövető eszközök Linux-teljesítményfigyeléshez, hálózatépítéshez és egyebekhez
- pyDash – Web alapú Linux teljesítményfigyelő eszköz
- Perf – Teljesítményfigyelő és -elemző eszköz Linuxhoz
- Collectl: Fejlett, többfunkciós teljesítményfigyelő eszköz Linuxhoz
- 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.