Sysdig - jaudīgs sistēmas uzraudzības un problēmu novēršanas rīks Linux
Sysdig ir atvērtā koda, starpplatformu, jaudīgs un elastīgs sistēmas uzraudzības un problēmu novēršanas rīks Linux; tas darbojas arī operētājsistēmās Windows un Mac OSX, taču ar ierobežotu funkcionalitāti un to var izmantot sistēmas analīzei, pārbaudei un atkļūdošanai.
Parasti, lai veiktu Linux uzraudzības un atkļūdošanas uzdevumus, jūs izmantojat dažādu Linux veiktspējas uzraudzības un problēmu novēršanas rīku kombināciju, ieskaitot šos, kas uzskaitīti zemāk:
- strace - atklāj sistēmas izsaukumus un signālus procesam.
- tcpdump - neapstrādāta tīkla trafika uzraudzība.
- netstat - tīkla savienojumu uzraudzība.
- htop - reāllaika procesu uzraudzība.
- iftop - reāllaika tīkla joslas platuma uzraudzība.
- lsof - skatiet, kuri faili ir atvērti, izmantojot kādu procesu.
Tomēr sysdig integrē to, ko piedāvā visi iepriekš minētie rīki un daudz kas cits, vienā un vienkāršā programmā, vairāk ar pārsteidzošu konteineru atbalstu. Tas ļauj uztvert, saglabāt, filtrēt un pārbaudīt Linux sistēmu, kā arī konteineru reālo darbību (notikumu straumi).
Tam ir komandrindas interfeiss un jaudīgs interaktīvs lietotāja interfeiss (csysdig), kas ļauj reāllaikā skatīties sistēmas darbību vai veikt izsekošanas izsekošanu un saglabāt vēlākai analīzei. Zemāk redzamajā videoklipā varat noskatīties, kā darbojas csysdig.
- Tas ir ātrs, stabils un viegli lietojams, vispusīgi labi dokumentēts.
- Nāk ar vietējo atbalstu konteineru tehnoloģijām, tostarp Docker, LXC.
- Tas ir rakstāms Lua valodā; piedāvā kalti (vieglie Lua skripti) notverto sistēmas notikumu apstrādei.
- Atbalsta noderīgu izejas filtrēšanu.
- Atbalsta sistēmas un lietojumprogrammu izsekošanu.
- To var integrēt ar Ansible, Puppet un Logstash.
- iespējojiet izvērsto žurnāla analīzi.
- Tas piedāvā arī Linux servera uzbrukuma (kriminālistikas) analīzes funkcijas ētiskiem hakeriem un daudz ko citu.
Šajā rakstā mēs parādīsim, kā instalēt sysdig Linux sistēmā, kā arī izmantot to ar sistēmas analīzes, uzraudzības un problēmu novēršanas pamata piemēriem.
Kā instalēt Sysdig Linux
Sysdig pakotnes instalēšana ir tikpat vienkārša kā zemāk esošās komandas palaišana, kas pārbaudīs visas prasības; ja katra lieta ir vietā, tā lejupielādēs un instalēs pakotni no Draios APT/YUM repozitorija.
# 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
Pēc tā instalēšanas jums jāpalaiž sysdig kā root, jo tam ir nepieciešama piekļuve kritiskām jomām, piemēram,/proc failu sistēma,/dev/sysdig * ierīcēm, un ir automātiski jāielādē sysdig-probe kodola modulis (ja tā nav). ; pretējā gadījumā izmantojiet sudo komandu.
Pats vienkāršākais piemērs ir tā palaišana bez jebkādiem argumentiem. Tas ļaus jums reāllaikā apskatīt savu Linux sistēmas notikumu straumi:
$ sudo sysdig
Iepriekšminētajai izejai (neapstrādātiem datiem), iespējams, nav daudz jēgas, lai izmantotu noderīgāku izvades darbību csysdig:
$ sudo csysdig
Piezīme. Lai iegūtu patiesu šī rīka izjūtu, jums jāizmanto sysdig, kas no neapstrādāta Linux sistēmas rada neapstrādātus datus, kā mēs redzējām iepriekš: tas prasa, lai jūs saprastu, kā izmantot filtrus un kalti.
Bet, ja jums ir nepieciešami nesāpīgi līdzekļi sysdig lietošanai, turpiniet ar csysdig.
Izpratne par Sysdig kaltiem un filtriem
Sysdig kalti ir minimāli Lua skripti, lai pārbaudītu sysdig notikumu straumi, lai veiktu noderīgas sistēmas problēmu novēršanas darbības un daudz ko citu. Tālāk sniegtā komanda palīdzēs jums apskatīt visus pieejamos kaltus:
$ sudo sysdig -cl
Ekrānā tiek parādīts dažādu kategoriju kaltu paraugu saraksts.
Ja vēlaties uzzināt vairāk informācijas par konkrētu kaltu, izmantojiet karodziņu -i
:
$ sudo sysdig -i topprocs_cpu
Sysdig filtri piešķir lielāku jaudu izvades veidam, ko varat iegūt no notikumu plūsmām, un tie ļauj pielāgot izvadi. Tie jānorāda komandrindas beigās.
Vienkāršs un izplatīts filtrs ir pamata pārbaude “class.field = value”. Varat arī kombinēt kaltus ar filtriem, lai iegūtu vēl jaudīgākus pielāgojumus.
Lai skatītu pieejamo lauku klašu, lauku un to aprakstu sarakstu, ierakstiet:
$ sudo sysdig -l
Lai izgūtu sysdig izvadi failā vēlākai analīzei, izmantojiet šādi izmantoto karodziņu -w
.
Trace dump failu var izlasīt, izmantojot karogu -r:
$ sudo sysdig -r trace.scap
Opciju -s
izmanto, lai norādītu, cik baitu datu jāaptver katram sistēmas notikumam. Šajā piemērā mēs filtrējam notikumus mongodu procesam.
$ sudo sysdig -s 3000 -w trace.scap $ sudo sysdig -r trace.scap proc.name=mongod
Lai uzskaitītu sistēmas procesus, ierakstiet:
$ sudo sysdig -c ps
Lai skatītos galvenos procesus pēc CPU izmantošanas procentiem, izpildiet šo komandu:
$ sudo sysdig -c topprocs_cpu
Lai skatītu sistēmas tīkla savienojumus, palaidiet:
$ sudo sysdig -c netstat
Šī komanda palīdzēs jums uzskaitīt galvenos tīkla savienojumus pēc kopējiem baitiem:
$ sudo sysdig -c topconns
Pēc tam jūs varat arī uzskaitīt galvenos procesus pēc tīkla I/O šādi:
$ sudo sysdig -c topprocs_net
Sistēmas procesu nolasītos un rakstītos datus var izvadīt šādi:
$ sudo sysdig -c echo_fds
Lai uzskaitītu galvenos procesus pēc (lasīšanas + rakstīšanas) diska baitiem, izmantojiet:
$ sudo sysdig -c topprocs_file
Lai nepamanītu sistēmas vājās vietas (lēni sistēmas zvani), izpildiet šo komandu:
$ sudo sysdig -c bottlenecks
Lai izsekotu procesa izpildes laiku, varat palaist šo komandu un izsekot izsekošanu failā:
$ sudo sysdig -w extime.scap -c proc_exec_time
Pēc tam izmantojiet filtru, lai nulles detalizētu informāciju par konkrētu procesu (šajā piemērā postgres) šādi:
$ sudo sysdig -r extime.scap proc.name=postgres
Šī vienkāršā komanda palīdzēs jums noteikt lēnu tīkla I/0:
$ sudo sysdig -c netlower
Tālāk sniegtā komanda palīdz jums parādīt visus syslog rakstītos ziņojumus, ja jūs interesē konkrēta procesa žurnāla ieraksti, izveidojiet izsekošanas dumpu un attiecīgi filtrējiet to, kā parādīts iepriekš:
$ sudo sysdig -c spy_syslog
Jebkuru procesu rakstītos datus žurnāla failā varat izdrukāt šādi:
$ sudo sysdig -c spy_logs
Ja mūsu sistēmā darbojas HTTP serveris, piemēram, Apache vai Nginx, pārlūkojiet servera pieprasījumu žurnālu ar šo komandu:
$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Print Top HTTP Requests]
Tālāk sniegtā komanda ļaus jums apskatīt visus pieteikšanās čaulas ID:
$ sudo sysdig -c list_login_shells
Visbeidzot, bet ne mazāk svarīgi, jūs varat parādīt sistēmas lietotāju interaktīvo darbību, piemēram:
$ sudo sysdig -c spy_users
Lai iegūtu papildinformāciju par lietošanu un piemērus, izlasiet sysdig un csysdig rokasgrāmatas lapas:
$ man sysdig $ man csysdig
Atsauce: https://www.sysdig.org/
Pārbaudiet arī šos noderīgos Linux veiktspējas uzraudzības rīkus:
- BCC - dinamiskās izsekošanas rīki Linux veiktspējas pārraudzībai, tīklošanai un citur
- pyDash - tīmekļa veiktspējas uzraudzības rīks tīmeklī
- Perf - Linux veiktspējas uzraudzības un analīzes rīks
- Collectl: uzlabots all-in-one veiktspējas uzraudzības rīks Linux
- Netdata - reāllaika veiktspējas uzraudzības rīks Linux sistēmām
Sysdig apvieno daudzu komandrindas rīku funkcijas vienā ievērojamā saskarnē, tādējādi ļaujot jums dziļi iedziļināties Linux sistēmas notikumos, lai apkopotu datus, saglabājot tos vēlākai analīzei, un tas piedāvā neticamu konteineru atbalstu.
Lai uzdotu jautājumus vai dalītos domās par šo rīku, izmantojiet tālāk sniegto atsauksmju veidlapu.