Sysdig - Tehokas järjestelmän valvonta- ja vianmääritystyökalu Linuxille
Sysdig on avoimen lähdekoodin, monialustainen, tehokas ja joustava järjestelmän valvonta- ja vianmääritystyökalu Linuxille. se toimii myös Windows- ja Mac OSX -käyttöjärjestelmissä, mutta sen toiminnallisuus on rajoitettu, ja sitä voidaan käyttää järjestelmän analysointiin, tarkastamiseen ja virheenkorjaukseen.
Normaalisti käytät yhdistelmää erilaisia Linuxin suorituskyvyn seuranta- ja vianmääritystyökaluja, mukaan lukien alla luetellut työkalut Linuxin valvonta- ja virheenkorjaustehtävien suorittamiseen:
- strace – etsi järjestelmäkutsuja ja signaaleja prosessiin.
- tcpdump – raaka verkkoliikenteen valvonta.
- netstat – verkkoyhteyksien valvonta.
- htop – reaaliaikainen prosessien seuranta.
- iftop – reaaliaikainen verkon kaistanleveyden valvonta.
- lsof – tarkastele, mitkä tiedostot millä prosessilla avataan.
Kuitenkin sysdig integroi sen, mitä kaikki yllä olevat työkalut ja monet muut tarjoavat yhdeksi ja yksinkertaiseksi ohjelmaksi, varsinkin hämmästyttävällä säilötuella. Sen avulla voit kaapata, tallentaa, suodattaa ja tutkia Linux-järjestelmien ja säiliöiden todellista käyttäytymistä (tapahtumavirtaa).
Siinä on komentorivikäyttöliittymä ja tehokas interaktiivinen käyttöliittymä (csysdig), joiden avulla voit seurata järjestelmän toimintaa reaaliajassa tai suorittaa jälkivedosten ja tallentaa myöhempää analyysiä varten. Voit katsoa, kuinka csysdig toimii alla olevasta videosta.
Sysdigin ominaisuudet:
- Se on nopea, vakaa ja helppokäyttöinen, ja se on kattavasti hyvin dokumentoitu.
- Mukana alkuperäinen tuki konttitekniikoille, mukaan lukien Docker, LXC.
- Se on käsikirjoitettava Luassa; tarjoaa talttoja (kevyitä Lua-skriptejä) tallennettujen järjestelmätapahtumien käsittelyyn.
- Tukee hyödyllistä tulosteen suodatusta.
- Tukee järjestelmän ja sovellusten jäljitystä.
- Se voidaan integroida Ansiblen, Puppetin ja Logstashiin.
- Ota käyttöön edistynyt lokianalyysi.
- Se tarjoaa myös Linux-palvelinhyökkäysten (rikosteknisten) analyysiominaisuuksia eettisille hakkereille ja paljon muuta.
Tässä artikkelissa näytämme, kuinka sysdig asennetaan Linux-järjestelmään ja käytetään sitä perusesimerkeillä järjestelmäanalyysistä, valvonnasta ja vianetsinnästä.
Kuinka asentaa Sysdig Linuxiin
Paketin sysdig asentaminen on yhtä helppoa kuin alla olevan komennon suorittaminen, joka tarkistaa kaikki vaatimukset. jos kaikki on paikoillaan, se lataa ja asentaa paketin Draios APT/YUM -varastosta.
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
Asennuksen jälkeen sinun on suoritettava sysdig pääkäyttäjänä, koska se vaatii pääsyn kriittisiin alueisiin, kuten tiedostojärjestelmään /proc, /dev/sysdig*. > laitteet ja sen täytyy ladata sysdig-probe ydinmoduuli automaattisesti (jos näin ei ole); muussa tapauksessa käytä sudo-komentoa.
Perusesimerkki on sen käyttäminen ilman argumentteja, jonka avulla voit tarkastella Linux-järjestelmäsi tapahtumia reaaliajassa päivitettynä:
sudo sysdig
Yllä oleva tulos (raakadata) ei ehkä ole sinusta kovinkaan järkevää, jotta voit suorittaa hyödyllisemmän tulosteen csysdig:
sudo csysdig
Huomaa: saadaksesi todellisen vaikutelman tästä työkalusta, sinun on käytettävä sysdigiä, joka tuottaa raakadataa, kuten näimme aiemmin, käynnissä olevasta Linux-järjestelmä: tämä edellyttää, että ymmärrät suodattimien ja talttojen käytön.
Mutta jos tarvitset kivuttoman tavan käyttää sysdigä, jatka csysdigillä.
Sysdig-taltojen ja suodattimien ymmärtäminen
Sysdig-taltat ovat minimaalisia Lua-skriptejä, jotka tutkivat sysdig-tapahtumavirtaa hyödyllisten järjestelmän vianmääritystoimintojen suorittamiseksi ja paljon muuta. Alla oleva komento auttaa sinua tarkastelemaan kaikkia saatavilla olevia talttoja:
sudo sysdig -cl
Näyttökaappaus näyttää esimerkkiluettelon eri luokkiin kuuluvista taltoista.
Jos haluat saada lisätietoja tietystä taltasta, käytä lippua -i
:
sudo sysdig -i topprocs_cpu
Sysdig-suodattimet lisäävät tehoa tapahtumavirroista saatavaan ulostuloon, ja niiden avulla voit mukauttaa tulostetta. Sinun tulee määrittää ne komentorivin lopussa.
Yksinkertainen ja yleisin suodatin on perustarkistus "class.field=value", ja voit myös yhdistää talttoja suodattimiin saadaksesi entistä tehokkaampia mukautuksia.
Näet luettelon käytettävissä olevista kenttäluokista, kentistä ja niiden kuvauksista kirjoittamalla:
sudo sysdig -l
Linuxin järjestelmän jäljitystiedoston luominen
Jos haluat siirtää sysdig-tulosteen tiedostoon myöhempää analysointia varten, käytä -w
-lippua näin.
Voit lukea jälkivedostiedoston -r-lipun avulla:
sudo sysdig -r trace.scap
-s
-vaihtoehtoa käytetään määrittämään kunkin järjestelmätapahtuman kaapattavien tavujen määrä. Tässä esimerkissä suodatamme mongod-prosessin tapahtumia.
sudo sysdig -s 3000 -w trace.scap
sudo sysdig -r trace.scap proc.name=mongod
Linux-prosessien valvonta
Listaa järjestelmäprosessit kirjoittamalla:
sudo sysdig -c ps
Seuraa prosesseja suorittimen käytön mukaan
Katsoaksesi suosituimpia prosesseja suorittimen käyttöprosentin mukaan, suorita tämä komento:
sudo sysdig -c topprocs_cpu
Verkkoyhteyksien ja I/O:n valvonta
Voit tarkastella järjestelmän verkkoyhteyksiä suorittamalla:
sudo sysdig -c netstat
Seuraava komento auttaa sinua listaamaan suosituimmat verkkoyhteydet kokonaistavuittain:
sudo sysdig -c topconns
Seuraavaksi voit myös listata suosituimmat prosessit verkon I/O:n mukaan seuraavasti:
sudo sysdig -c topprocs_net
Valvontajärjestelmän tiedoston I/O
Voit tulostaa järjestelmän prosessien lukemat ja kirjoittamat tiedot seuraavasti:
sudo sysdig -c echo_fds
Voit luetella suosituimmat prosessit (luku + kirjoitus) levytavuittain käyttämällä:
sudo sysdig -c topprocs_file
Linux-järjestelmän suorituskyvyn vianmääritys
Pidä silmällä järjestelmän pullonkauloja (hitaita järjestelmäkutsuja) suorittamalla tämä komento:
sudo sysdig -c bottlenecks
Seuraa prosessin suoritusaikaa
Voit seurata prosessin suoritusaikaa suorittamalla tämän komennon ja tallentamalla jäljen tiedostoon:
sudo sysdig -w extime.scap -c proc_exec_time
Käytä sitten suodatinta nollataksesi tietyn prosessin yksityiskohdat (tässä esimerkissä postgres) seuraavasti:
sudo sysdig -r extime.scap proc.name=postgres
Tutustu Slow Network I/0:aan
Tämä yksinkertainen komento auttaa sinua havaitsemaan hitaan verkon I/0:n:
sudo sysdig -c netlower
Lokitiedostojen merkintöjen katsominen
Alla oleva komento auttaa sinua näyttämään jokaisen syslogiin kirjoitetun viestin. Jos olet kiinnostunut tietyn prosessin lokimerkinnöistä, luo jäljitysvedos ja suodata se pois vastaavasti, kuten edellä on esitetty:
sudo sysdig -c spy_syslog
Voit tulostaa minkä tahansa prosessin kirjoittamia tietoja lokitiedostoon seuraavasti:
sudo sysdig -c spy_logs
HTTP-palvelinpyyntöjen valvonta
Jos järjestelmässämme on käynnissä HTTP-palvelin, kuten Apache tai Nginx, katso palvelimen pyyntölokia tällä komennolla:
sudo sysdig -c httplog
sudo sysdig -c httptop [Print Top HTTP Requests]
Näytä kirjautumiskuoret ja interaktiivinen käyttäjätoiminta
Alla olevan komennon avulla voit tarkastella kaikkia sisäänkirjautumiskuoritunnuksia:
sudo sysdig -c list_login_shells
Viimeisenä mutta ei vähäisimpänä, voit näyttää järjestelmän käyttäjien interaktiivista toimintaa, kuten:
sudo sysdig -c spy_users
Lisätietoa käytöstä ja esimerkkejä löydät sysdig- ja csysdig-manuaalisivuilta:
man sysdig
man csysdig
Viite: https://www.sysdig.org/
Tarkista myös nämä hyödylliset Linuxin suorituskyvyn seurantatyökalut:
- BCC – Dynaamiset jäljitystyökalut Linux-suorituskyvyn valvontaan, verkkokäyttöön ja muuhun
- pyDash – Web-pohjainen Linuxin suorituskyvyn seurantatyökalu
- Perf - Suorituskyvyn seuranta- ja analyysityökalu Linuxille
- Collectl: Kehittynyt All-in-One-suorituskyvyn valvontatyökalu Linuxille
- Netdata – Reaaliaikainen suorituskyvyn seurantatyökalu Linux-järjestelmille
Johtopäätös
Sysdig yhdistää toiminnot useista komentorivityökaluista yhdeksi merkittäväksi käyttöliittymäksi, jolloin voit kaivaa syvälle Linux-järjestelmän tapahtumiin kerätäksesi tietoja, säästääksesi myöhempää analysointia varten, ja se tarjoaa uskomattoman konttituen.
Jos haluat esittää kysymyksiä tai jakaa ajatuksiasi tästä työkalusta, käytä alla olevaa palautelomaketta.