Kako instalirati Sysdig sistem za dijagnosticiranje sistema na Ubuntu 15 / CentOS 7

0

Pozdrav i dobrodošli u našu današnju članak o Linux sistemu za istraživanje i rješavanje problema Sysdig sa prvoklasnom podrškom za kontejnere. Sysdig sistem za hvatanje sistema i aktivnosti iz tekućeg Linux instanca, a zatim sačuva, filtrira i analizira. Možete koristiti ovaj awesome alat kao zamenu mnogih Linux komandi za rešavanje problema kao što su top, lsof, strace, iostat, ps itd. Takođe kombinuje prednosti mnogih uslužnih programa poput strace, tcpdump i lsof u jednu aplikaciju koja je pakirana sa skupom skripti koje se zovu Dleta, što olakšava izvlačenje korisnih informacija i rješavanje problema.

U ovom članku ćemo vam pokazati korake za instalaciju i osnovnu upotrebu sysdig-a za obavljanje nadgledanja sistema i rješavanje problema u Linux CentOS 7 i Ubuntu 15 operativnom sistemu.

1) Instaliranje Sysdig-a na Ubuntu 15:

Sysdig je uključio najnovije verzije operativnog sistema Debian, RHEL i Container; međutim, stalno se ažurira sa novom funkcionalnošću. Mi ćemo instalirati Sysdig pomoću naredbe 'apt', ali prvo moramo postaviti apt spremište koje održava Draios tako što pokrećemo sljedeće naredbe 'curl' sa root korisnikom.

Korišćenjem narednih naredbi poverit će se Draios GPG ključu i konfigurirati apt spremište.

# curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key dodati -

# curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

Sada morate ažurirati listu paketa izvršavajući sledeću komandu.

# apt-get update

instaliranje sysdig-a

Kada je ažuriranje sistema završeno potrebno je instalirati paket zaglavlja jezgre pomoću naredbe kao što je prikazano u nastavku.

# apt-get -y instalirajte Linux-zaglavlja - $ (uname -r)

Sada možete instalirati sysdig na ubuntu koristeći sljedeću naredbu.

# apt-get -y instalirati sysdig

Sysdig instalacija

2) Instaliranje Sysdig-a na CentOS 7

Proces instalacije CentOS 7 je sličan onom koji smo uradili za Ubuntu server, ali morate ponoviti isti korak postavljanjem yum repozitorij koji će koristiti svoj ključ da bi potvrdio autentičnost paketa.

Hajde da pokrenemo sledeću naredbu da koristite alatku 'rpm' sa '-importom' da biste ručno dodali ključ Draios u vaš RPM ključ.

# rpm -import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public

Nakon toga preuzmite Draios spremište i konfigurirajte yum da ga koristite na CentOS 7 serveru.

# curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo

Sada morate ažurirati listu paketa tako što ćete izvršiti sljedeću naredbu pre nego što započnete instalaciju Sysdig paketa.

# yum ažuriranje

Sysdig Repo

EPEL spremište je potrebno da bi se preuzeo paket podrške dinamičkog jezgra (DKMS) koji koristi alat sysdig. Dakle, sledeće naredbe za omogućavanje EPEL repozitorijuma.

# yum -y instalirajte epel-release

Omogući EPEL Repo

Sada instalirajte zaglavlja jezgre kako biste podesili modul sysdig-probe i potom proveli komandu da biste instalirali Sysdig paket na serveru.

# yum install kernel-devel - $ (uname -r)

# yum instalirati sysdig

Instaliranje Sysdig-a

3) Koristeći Sysdig

Nakon uspješne instalacije alatke sysdig, sada ćemo vam pokazati neke od njegovih najkorisnijih primera da ih koristite za rješavanje problema sa vašim sistemom. Najjednostavniji i najlakši način za korištenje sysdig-a je pozivanje bez ikakvog argumenta kao što je prikazano u nastavku.

# sysdig

Podrazumevano, sysdig štampa informacije za svaki snimljeni događaj na jednoj liniji u formatu njegovog broja događaja, vremena događaja, broja događaja, naziv procesa (PID), smer događaja za izlaz, tip događaja i argumente događaja.

Koristeći Sysdig

Izlaz je toliko ogroman i uglavnom nije vrlo koristan sama, tako da možete da napišete izlaz Sysdig u datoteku koristeći '-w' zastavu i navodeći ime datoteke u '.dump', kao što je prikazano u komandi ispod.

# sysdig -w result.dump

Deset započinje sljedeću komandu sa parametrom '-r' da bi pročitao izlaz iz sačuvanog fajla.

# sysdig -r result.dump

Sysdig filteri

Možete koristiti filtere koji vam omogućavaju da filtrirate izlaz sysdig rezultata na određene informacije. pokrenite sledeću komandu da biste pronašli listu dostupnih filtera kao što je prikazano.

# sysdig -l

--------
Field Class: fd

fd.num jedinstveni broj koji identifikuje deskriptor datoteke.
fd.cport za TCP / UDP FD, klijentski port.
fd.rproto za TCP / UDP FDs, daljinski protokol.

--------
Terenska klasa: proces

proc.pid id procesa koji generiše događaj.
proc.name ime (isključujući putanju) izvršne generacije koja generiše
događaj.
proc.args argumenti koji se prenose na komandnu liniju prilikom pokretanja proc
stvaranje događaja.
proc.env varijable okoline procesa koji generišu događaj.
proc.cmdline kompletna linija komandne linije, tj. proc.name + proc.args.
proc.exeline pun komandna linija procesa, sa exe kao prvi argument, tj. pro
c.exe + proc.args.
proc.cwd trenutni radni direktorijum događaja.
proc.duration nanosekundi od početka procesa.
proc.fdlimit maksimalan broj FD-ova koji se proces može otvoriti.
proc.fdusage odnos između otvorenih FD i maksimalnih raspoloživih FD za pr
ocess.
.
thread.pfminor broj manjih grešaka na strani od početka navoja.
thread.ismain 'true' ako je nit koja generira događaj glavna u tom
e proces.

Tako možete filtrirati rezultate pomoću moćnog sistema filtriranja. Možete koristiti filter "proc.name" za snimanje svih sysdig događaja za određeni proces.
Na primer, filtrirajte proces 'MySQLD' koristeći argument proc.name koristeći naredbu ispod.

# sysdig -r result.dump proc.name = mysqld

140630 02: 20: 30.848284977 2 mysqld (2899) io_getevents
140632 02: 20: 30.848289674 2 mysqld (2899)> pređite next = 2894 (mysqld) pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140633 02: 20: 30.848292784 2 mysqld (2894) io_getevents
140635 02: 20: 30.848297142 2 mysqld (2894)> pređite next = 2901 (mysqld) pgft_maj = 0 pgft_min = 4 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140636 02: 20: 30.848300414 2 mysqld (2901) io_getevents
140638 02: 20: 30.848307954 2 mysqld (2901)> pređite next = 0 pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140640 02: 20: 30.849340499 1 mysqld (2900) io_getevents
140642 02: 20: 30.849348907 1 mysqld (2900)> pređite next = 2895 (mysqld) pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140643 02: 20: 30.849357633 1 mysqld (2895) io_getevents
140645 02: 20: 30.849362258 1 mysqld (2895)> pređite next = 26329 (podešeno) pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140702 02: 20: 30.995763869 1 mysqld (2898) io_getevents
140704 02: 20: 30.995777232 1 mysqld (2898)> pređite next = 2893 (mysqld) pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140705 02: 20: 30.995782563 1 mysqld (2893) io_getevents
140707 02: 20: 30.995795720 1 mysqld (2893)> pređite next = 0 pgft_maj = 0 pgft_min = 3 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140840 02: 20: 31.204456822 1 mysqld (2933) futex addr = 7F1453334D50 op = 129 (FUTEX_PRIVATE_FLAG | FUTEX_WAKE) val = 1
140842 02: 20: 31.204464336 1 mysqld (2933) futex addr = 7F1453334D8C op = 393 (FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT_BITSET) val = 12395
140844 02: 20: 31.204569972 1 mysqld (2933)> pređite next = 3920 pgft_maj = 0 pgft_min = 1 vm_size = 841372 vm_rss = 85900 vm_swap = 0
140875 02: 20: 31.348405663 2 mysqld (2897) io_getevents

Za filtriranje živog procesa 'sshd' možete koristiti sljedeću komandu s proc.name argumentom.

# sysdig proc.name = sshd

Sysdig filter

Dijagnostikovanje mreže i sistema pomoću Sysdig-a

Da biste videli najvažnije procese u smislu upotrebe mrežnog propusnog opsega pokrenite naredbu sysdig ispod.

# sysdig -c topprocs_net

Proces PID-a po bajtovima
---------------------------
304B sshd 3194

Za hvatanje svih procesa koji otvaraju određenu datoteku, koristite komandu ispod.

# sysdig fd.name = / var / log

Proces hvatanja

Da biste uhvatili sve procese koji otvaraju određeni datotečni sistem, možete koristiti sljedeću naredbu. Koristite poređenje operatora s filtrima kao što su: =,! =, =,. Videćete da se filteri mogu koristiti za čitanje iz datoteke ili tekućeg događaja.

# sysdig fd.name sadrži / etc

Snimite sve procese

Koristeći dleto u Sysdig

Sysdig-ova dleta su mala skripta koja analiziraju tok događaja sysdig za obavljanje korisnih akcija. Ako ste koristili alatke za praćenje sistema kao što su dtrace, verovatno ste upoznati sa pokretanjem skripti koji prate događaje OS-a. Dleta dobro funkcionišu na živim sistemima, ali se takođe mogu koristiti sa tragovima za analizu van mreže.

Da biste dobili listu dostupnih dleta, samo upišite sledeću naredbu da biste dobili kratak opis za svako raspoloživo dleto.

# sysdig -cl

Sysdig Chipsels

Da biste pokrenuli jedno od dleta, koristite oznaku '-c'. Na primjer, pokrenemo dletu db topfiles_bytes kao što je prikazano ispod.

# sysdig -c topfiles_bytes

Sysdig topfiles

Ili, ako želite da vidite vrh datoteke u određenom direktorijumu, onda koristite naredbu ispod.

# sysdig -c topfiles_bytes "fd.name sadrži / root"

Da biste videli najviše fajlova od strane određenog korisnika ispod.

# sysdig -c topfiles_bytes "user.name = admin"

zaključak

Hvala vam što ste pročitali ovaj detaljan članak i nadam se da ste pronašli ovo korisno kao vaš omiljeni alat za dijagnostiku sistema i mreže. Još uvek ima mnogo više mogućnosti koje možete istražiti koristeći sysdig. Ne zaboravite da podelite sa nama o vašem nalazu i ostavite nam vaše dragocene komentare.

Ostavite odgovor

Vaša e-mail adresa neće biti objavljena.

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.

Ova web stranica koristi kolačiće za poboljšanje vaše iskustvo. Mi ćemo pretpostaviti da ste ok sa ovom, ali možete odjaviti ako želite. prihvatiti Čitaj više