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:

  1. strace – etsi järjestelmäkutsuja ja signaaleja prosessiin.
  2. tcpdump – raaka verkkoliikenteen valvonta.
  3. netstat – verkkoyhteyksien valvonta.
  4. htop – reaaliaikainen prosessien seuranta.
  5. iftop – reaaliaikainen verkon kaistanleveyden valvonta.
  6. 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:

  1. BCC – Dynaamiset jäljitystyökalut Linux-suorituskyvyn valvontaan, verkkokäyttöön ja muuhun
  2. pyDash – Web-pohjainen Linuxin suorituskyvyn seurantatyökalu
  3. Perf - Suorituskyvyn seuranta- ja analyysityökalu Linuxille
  4. Collectl: Kehittynyt All-in-One-suorituskyvyn valvontatyökalu Linuxille
  5. 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.