Sysdig - Zana Yenye Nguvu ya Ufuatiliaji na Utatuzi wa Mifumo ya Linux


Sysdig ni chanzo-wazi, jukwaa-msingi, ufuatiliaji na utatuzi wa mfumo wenye nguvu na unaonyumbulika wa Linux; pia inafanya kazi kwenye Windows na Mac OSX lakini ikiwa na utendakazi mdogo na inaweza kutumika kwa uchambuzi, ukaguzi na utatuzi wa mfumo.

Kwa kawaida, ungeajiri mchanganyiko wa zana mbalimbali za ufuatiliaji wa utendaji wa Linux na utatuzi wa matatizo ikiwa ni pamoja na hizi zilizoorodheshwa hapa chini kutekeleza kazi za ufuatiliaji na utatuzi wa Linux:

  1. strace - gundua simu za mfumo na ishara za mchakato.
  2. tcpdump - ufuatiliaji ghafi wa trafiki ya mtandao.
  3. netstat – ufuatiliaji wa miunganisho ya mtandao.
  4. htop - ufuatiliaji wa mchakato wa wakati halisi.
  5. iftop - ufuatiliaji wa kipimo data cha mtandao kwa wakati halisi.
  6. lsof - tazama faili zipi zinafunguliwa kwa mchakato gani.

Hata hivyo, sysdig inaunganisha kile zana zote hapo juu na nyingi zaidi, kutoa katika programu moja na rahisi, zaidi kwa msaada wa ajabu wa chombo. Hukuwezesha kunasa, kuhifadhi, kuchuja na kuchunguza tabia halisi (mtiririko wa matukio) ya mifumo ya Linux pamoja na vyombo.

Inakuja na kiolesura cha mstari wa amri na kiolesura chenye nguvu shirikishi (csysdig) ambacho hukuruhusu kutazama shughuli za mfumo kwa wakati halisi, au kutekeleza utupaji wa kufuatilia na kuhifadhi kwa uchanganuzi wa baadaye. Unaweza kutazama jinsi csysdig inavyofanya kazi kutoka kwa video hapa chini.

  • Ni ya haraka, dhabiti na ni rahisi kutumia ikiwa na kumbukumbu za kina.
  • Huja na usaidizi asilia wa teknolojia za kontena, ikijumuisha Docker, LXC.
  • Inaweza kuandikwa kwa Kilua; inatoa patasi (hati nyepesi za Lua) kwa ajili ya kuchakata matukio ya mfumo ulionaswa.
  • Husaidia uchujaji muhimu wa pato.
  • Inaauni mfumo na ufuatiliaji wa programu.
  • Inaweza kuunganishwa na Ansible, Puppet na Logstash.
  • Washa sampuli ya uchanganuzi wa kina wa kumbukumbu.
  • Pia inatoa vipengele vya uchanganuzi vya mashambulizi ya seva ya Linux (forensics) kwa wadukuzi wa maadili na mengine mengi.

Katika makala hii, tutaonyesha jinsi ya kufunga sysdig kwenye mfumo wa Linux, na kuitumia kwa mifano ya msingi ya uchambuzi wa mfumo, ufuatiliaji na utatuzi wa matatizo.

Jinsi ya Kufunga Sysdig kwenye Linux

Kufunga kifurushi cha sysdig ni rahisi kama kuendesha amri hapa chini, ambayo itaangalia mahitaji yote; ikiwa kila kitu kiko mahali, itapakua na kusanikisha kifurushi kutoka kwa hazina ya Draios APT/YUM.

# 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

Baada ya kuisakinisha, unahitaji kuendesha sysdig kama mzizi kwa sababu inahitaji ufikiaji wa maeneo muhimu kama vile /proc mfumo wa faili, /dev/sysdig* vifaa na inahitaji kupakia kiotomatiki moduli ya sysdig-probe kernel (ikiwa sivyo) ; vinginevyo tumia sudo amri.

Mfano wa msingi zaidi ni kuiendesha bila mabishano yoyote, hii itakuwezesha kuona mtiririko wa matukio ya mfumo wako wa Linux uliosasishwa katika muda halisi:

$ sudo sysdig

Matokeo hapo juu (data mbichi) labda haileti maana kwako, kwa matokeo muhimu zaidi ya csysdig:

$ sudo csysdig 

Kumbuka: Ili kupata hisia halisi ya zana hii, unahitaji kutumia sysdig ambayo hutoa data ghafi kama tulivyoona hapo awali, kutoka kwa mfumo wa Linux unaoendesha: hii inahitaji uelewe jinsi ya kutumia vichungi na patasi.

Lakini ikiwa unahitaji njia zisizo na uchungu za kutumia sysdig - endelea na csysdig.

Kuelewa Patasi za Sysdig na Vichujio

Patasi za Sysdig ni hati ndogo za Lua za kukagua mtiririko wa tukio la sysdig ili kutekeleza vitendo muhimu vya utatuzi wa mfumo na zaidi. Amri iliyo hapa chini itakusaidia kutazama patasi zote zinazopatikana:

$ sudo sysdig -cl

Picha ya skrini inaonyesha sampuli ya orodha ya patasi chini ya kategoria tofauti.

Ikiwa ungependa kupata maelezo zaidi kuhusu patasi fulani, tumia -i bendera:

$ sudo sysdig -i topprocs_cpu

Vichungi vya Sysdig huongeza nguvu zaidi kwa aina ya matokeo unayoweza kupata kutoka kwa mitiririko ya matukio, hukuruhusu kubinafsisha matokeo. Unapaswa kuwataja mwishoni mwa mstari wa amri.

Kichujio cha moja kwa moja na cha kawaida zaidi ni ukaguzi wa msingi wa \class.field=value, unaweza pia kuchanganya patasi na vichujio kwa ubinafsishaji wenye nguvu zaidi.

Ili kuona orodha ya madarasa ya uga yanayopatikana, sehemu na maelezo yao, chapa:

$ sudo sysdig -l

Ili kutupa pato la sysdig katika faili kwa uchanganuzi wa baadaye, tumia alama ya -w kama hii.

Unaweza kusoma faili ya utupaji kwa kutumia -r bendera:

$ sudo sysdig -r trace.scap

Chaguo la -s linatumika kubainisha kiasi cha baiti za data zitakazonaswa kwa kila tukio la mfumo. Katika mfano huu, tunachuja matukio kwa mchakato wa mongod.

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

Ili kuorodhesha michakato ya mfumo, chapa:

$ sudo sysdig -c ps

Ili kutazama michakato ya juu kwa asilimia ya matumizi ya CPU, endesha amri hii:

$ sudo sysdig -c topprocs_cpu

Ili kuona miunganisho ya mtandao wa mfumo, endesha:

$ sudo sysdig -c netstat

Amri ifuatayo itakusaidia kuorodhesha miunganisho ya juu ya mtandao kwa jumla ya baiti:

$ sudo sysdig -c topconns

Ifuatayo, unaweza pia kuorodhesha michakato ya juu na mtandao wa I/O kama ifuatavyo:

$ sudo sysdig -c topprocs_net    

Unaweza kutoa data iliyosomwa na kuandikwa na michakato kwenye mfumo kama ilivyo hapo chini:

$ sudo sysdig -c echo_fds

Kuorodhesha michakato ya juu na (soma + andika) kaiti za diski, tumia:

$ sudo sysdig -c topprocs_file   

Ili kuweka jicho kwenye vikwazo vya mfumo (simu za polepole za mfumo), tekeleza amri hii:

$ sudo sysdig -c bottlenecks

Ili kufuatilia wakati wa utekelezaji wa mchakato, unaweza kuendesha amri hii na kutupa ufuatiliaji katika faili:

$ sudo sysdig -w extime.scap -c proc_exec_time 

Kisha tumia kichungi ili kupunguza maelezo ya mchakato fulani (postgres katika mfano huu) kama ifuatavyo:

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

Amri hii rahisi itakusaidia kugundua mtandao polepole I/0:

$ sudo sysdig -c netlower     

Amri iliyo hapa chini hukusaidia kuonyesha kila ujumbe ulioandikwa kwa syslog, ikiwa una nia ya maingizo ya kumbukumbu kwa mchakato fulani, tengeneza utupaji wa taka na uichuje ipasavyo kama ilivyoonyeshwa hapo awali:

$ sudo sysdig -c spy_syslog      

Unaweza kuchapisha data yoyote iliyoandikwa na mchakato wowote kwa faili ya kumbukumbu kama ifuatavyo:

$ sudo sysdig -c spy_logs   

Ikiwa una seva ya HTTP kama vile Apache au Nginx inayoendesha kwenye mfumo wetu, angalia logi ya maombi ya seva na amri hii:

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

Amri iliyo hapa chini itakuwezesha kutazama vitambulisho vyote vya ganda la kuingia:

$ sudo sysdig -c list_login_shells

Mwisho kabisa, unaweza kuonyesha shughuli za mwingiliano za watumiaji wa mfumo kama vile:

$ sudo sysdig -c spy_users

Kwa habari zaidi ya matumizi na mifano, soma sysdig na csysdig kurasa za mtu:

$ man sysdig 
$ man csysdig

Rejea: https://www.sysdig.org/

Pia angalia zana hizi muhimu za ufuatiliaji wa utendaji wa Linux:

  1. BCC - Zana za Ufuatiliaji Zenye Nguvu za Ufuatiliaji wa Utendaji wa Linux, Mitandao na Mengineyo
  2. pyDash – Zana ya Ufuatiliaji wa Utendaji wa Linux kwa Wavuti
  3. Perf- Zana ya Ufuatiliaji na Uchambuzi wa Utendaji kwa Linux
  4. Kusanya: Zana ya Kina ya Ufuatiliaji wa Utendaji wa Yote kwa Moja ya Linux
  5. Netdata – Zana ya Kufuatilia Utendaji kwa Wakati Halisi kwa Mifumo ya Linux

Sysdig huleta pamoja utendakazi kutoka kwa zana nyingi za safu ya amri hadi kiolesura kimoja cha ajabu, hivyo basi kukuruhusu kuchimba kwa kina matukio ya mfumo wako wa Linux ili kukusanya data, kuhifadhi kwa uchanganuzi wa baadaye na inatoa usaidizi wa ajabu wa chombo.

Kuuliza maswali yoyote au kushiriki mawazo yoyote kuhusu zana hii, tumia fomu ya maoni iliyo hapa chini.