Sysdig: Hvað það er og hvernig á að nota það

Sysdig er alhliða skyggni tól fyrir kerfið með stuðningi við gáma. Það sem gerir Sysdig sérstakt, er að það krækir sig í kjarna vélarinnar og aðgreinir upplýsingarnar í hverri gámur. Að því er varðar þessa kennslu munum við einbeita okkur að opinni útgáfu Sysdig.

Í næstu köflum muntu:

  • Settu upp Sysdig
  • Snúðu upp Wordpress uppsetningu með því að nota skipakví
  • Notaðu Sysdig til að safna atburðum og greina þá síðar
  • Notaðu Sysdig til að greina gögn í rauntíma

Forkröfur

  • Docker er sett upp á vélinni þinni. Nánari upplýsingar um uppsetningu Docker er að finna á Setja upp dokkara síðu.
  • Docker Compose er sett upp á vélinni þinni. Vísaðu á Install Docker Compose síðuna fyrir leiðbeiningar um hvernig á að setja upp Docker Compose.
  • Kjarnhausarnir eru settir upp á vélinni.

Settu upp Sysdig

Fylgdu þessum skrefum til að setja Sysdig inni í Docker ílát:

  1. Framkvæmdu eftirfarandi skipun til að draga Sysdig Docker mynd í flugstöðvarglugga:
bryggju draga sysdig / sysdig
Notkun sjálfgefinna merkimiða: nýjasta nýjasta: Draga frá sysdig / sysdig 2967486b0658: Dragðu heill 78101b780c72: Dragðu heill 7e78b657334d: Pull complete 650327159ca8: Pull complete 47ebf73ab754: Pull complete bf51ac76a6d9: Pull complete 0cd114d6d008 Pull complete 6de86c8ed6e9: Pull complete 8d1825f8be4b: Pull complete Digest: sha256: bbfe6953fd2b3221a8974eb13024dd33c7e78aebef8fee3d7a0d9ecdeed84ce0 Staða: Sótt nýrri mynd fyrir sysdig / sysdig: nýjasta

2. Keyra Sysdig í gám með því að slá inn:

tengikví hlaupa -i -t - nafn sysdig - forréttinda -v /var/run/docker.sock:/host/var/run/docker.sock -v / dev: / host / dev -v / proc: / host / proc: ro -v / boot: / host / boot: ro -v / lib / modules: / host / lib / modules: ro -v / usr: / host / usr: ro sysdig / sysdig
* Setja upp / usr / src tengla frá hýsingunni * Losa af sysdig-rannsaka, ef til staðar * Keyra dkms install fyrir sysdig Villa! echo Kjarnahausar þínir fyrir kjarna 3.10.0-957.12.2.el7.x86_64 er ekki að finna á /lib/modules/3.10.0-957.12.2.el7.x86_64/build eða /lib/modules/3.10.0-957.12 .2.el7.x86_64 / heimild. * Að keyra dkms build mistókst, gat ekki fundið /var/lib/dkms/sysdig/0.26.4/build/make.log * Reynt að hlaða kerfis sysdig-rannsaka, ef til staðar * Reynt að finna fyrirfram samsettan sysdig-rannsaka fyrir 3.10 .0-957.12.2.el7.x86_64 Fann kjarna config á /host/boot/config-3.10.0-957.12.2.el7.x86_64 * Reynt að hala niður fyrirfram samsettri einingu frá https://s3.amazonaws.com/download .draios.com / stable / sysdig-probe-binaries / sysdig-probe-0.26.4-x86_64-3.10.0-957.12.2.el7.x86_64-82e2ae1fb159132636f7b50a762f20ef.ko Niðurhal tókst, hleðsla eining rót @ 7b14a23f22eb: / #

Nokkur atriði sem þarf að hafa í huga um ofangreind skipun:

  • Flaggan -i heldur STDIN opnum.
  • Færibreytan - forréttindi veitir aðgang að öllum tækjum á vélinni. Einnig setur það SELinux til að leyfa ferlunum sem keyra inni í gámnum sama aðgang að hýsilanum og ferli sem keyrir á hýsingunni.
  • Fáninn -v tilgreinir skrána yfir skrár (á hýsingunni) sem Sysdig hefur aðgang að.

Snúðu upp Wordpress uppsetningu

Í þessum kafla muntu setja Wordpress upp með skipaninni tengikvíara.

  1. Færðu í nýjan flugglugga í verkefnamöppuna og sláðu inn eftirfarandi skipanir:
mkdir wordpress-sysdig && cd wordpress-sysdig

2. Búðu til skrá sem kallast tengiliður-skrifaðu með eftirfarandi efni:

útgáfa: '3.3' þjónusta: db: mynd: mysql: 5.7 bindi: - db_data: / var / lib / mysql endurræsa: alltaf umhverfi: MYSQL_ROOT_PASSWORD: hvernigordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: image:: wordpress: nýjustu höfn: - "8000: 80" endurræsa: alltaf umhverfi: WORDPRESS_DB_HOST: db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress bindi: db_data: {}

3. Keyra skipanina um skipaklukku í aðskilinn ham með:

skipakví-skrifa upp -d
Að búa til net „wordpress-sysdig_default“ með sjálfgefna rekilinn Býr til hljóðstyrk „wordpress-sysdig_db_data“ með sjálfgefið rekil Draga wordpress (wordpress: nýjasta) ... nýjasta: Draga úr bókasafni / wordpress 8ec398bc0356: Dragðu heill 85cf4fc86478: Dragðu heill 970dadf4ccb6: 8c04561117a4: Pull lokið d6b7434b63a2: Pull lokið 83d8859e9744: Pull lokið 9c3d824d0ad5: Pull lokið 9e316fd5b3b3: Pull lokið 578b40496c37: Pull lokið 814ae7711d3c: Pull lokið 4896fed78b6b: Pull lokið e74d71e9611d: Pull lokið 46017765526c: Pull lokið 280386098458: Pull lokið f32eb0d8c540: Dragðu heill 5c47b9ea747a: draga heill ecda5b7aad12: draga heill 84256a6b6b44: draga heill 35d4f385efb7: draga heill bf697c2ae701: Pull lokið d054b015f084: draga heill Digest: sha256: 73e8d8adf491c7a358ff94c74c8ebe35cb5f8857e249eb8ce6062b8576a01465 Staða: Sótt nýrri mynd fyrir wordPress: nýjasta búa wordpress-sysdig_db_1 ... gert Búa wordpress-sysdig_word press_1 ... búinn

4. Þú getur staðfest stöðu gáma þinna með:

tengikví ps

Ef allt gengur vel ættirðu að sjá eitthvað svipað og eftirfarandi framleiðsla:

ID gáma IMAGE CHANDAND CREATED STATUS PORTS NAMES f390eec29f52 wordpress: nýjasta „docker-entrypoint.s…“ Fyrir um mínútu síðan Upp Um mínútu 0.0.0.0:8000->80/tcp wordpress-sysdig_wordpress_1 a844840626d8 mysql: 5.7 ”docker-entrypoint. s… "Fyrir um mínútu síðan Upp Um mínútu 3306 / tcp, 33060 / tcp wordpress-sysdig_db_1 7b14a23f22eb sysdig / sysdig" /docker-entrypoint.… "13 mínútum síðan Upp 13 mínútur sysdig

5. Nú er Wordpress í gangi. Beindu vafranum þínum að http: // localhost: 8000 til að hefja uppsetningarhjálpina:

6. Þegar uppsetningarhjálpinni er lokið skulum við halda áfram og búa til sýnishornapóst:

Söfnun gagna í skrá

Í þessum kafla munum við sýna hvernig þú getur notað Sysdig til að safna atburðum og greina þá síðar.

  1. Til að afrita alla tekna atburði í skrá, farðu í Sysdig gáminn og sláðu inn eftirfarandi skipun:
sysdig -w eftirlit-wordpress.scap

2. Í nýjum flugstöðvaglugga, notaðu ab til að leggja fram 10000 beiðnir og að hámarki 100 beiðnir keyra samtímis:

ab -n 1000 -c 100 http: // localhost: 8000 /? p = 7
Þetta er ApacheBench, útgáfa 2.3 <$ Endurskoðun: 1430300 $> Höfundarréttur 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ leyfi til Apache hugbúnaðarstofnunar, http://www.apache.org/ Kvóti localhost (vertu þolinmóður) lokið 100 beiðnum lokið 200 beiðnum lokið 300 beiðnum lokið 400 beiðnum lokið 500 beiðnum lokið 600 beiðnum lokið 700 beiðnum lokið 800 beiðnum lokið 900 beiðnum lokið 1000 beiðnum lokið 1000 beiðnum

Athugið að ofangreind framleiðsla var stytt fyrir stuttu.

3. Fara til baka til að skoða Sysdig gáminn og hætta að taka gögn með því að slá inn „CTRL + C“.

Greining gagna

Nú, ef þú lítur á stærð eftirlits-wordpress.scap skráarinnar, munt þú taka eftir því að Sysdig náði hvorki meira né minna en 80M gögnum:

ls -lh eftirlit-wordpress.scap
-rw-r - r--. 1 rótarót 80M 7. jan. 16:28 monitoring-wordpress.scap

Til að finna þig í gegnum þetta gagnafjall notarðu eitthvað sem kallast meitill.

Meitill er í grundvallaratriðum Lua handrit sem greinir atburðarrásina og framkvæmir gagnlegar aðgerðir.

Þú getur keyrt eftirfarandi skipun til að birta lista með meitlum:

sysdig -cl
Flokkur: Forrit --------------------- httplog notkunarskrá fyrir HTTP beiðnir httptop Efstu HTTP beiðnir memcachelog memcached beiðnir log Flokkur: CPU notkun ---------- --------- spectrogram Sjónaðu OS sein í rauntíma. subsecoffset Sjónaðu útfærslutíma á öðrum sekúndum. topcontainers_cpu Helstu gámar eftir CPU notkun topprocs_cpu Helstu ferlar eftir CPU notkun Flokkur: Villur ---------------- topcontainers_error Topp gáma eftir fjölda villna topfiles_errors Topp skrár eftir fjölda villna topprocs_errors topp ferlar eftir fjölda um villur

Athugið að ofangreind framleiðsla var stytt fyrir stuttu.

Til að fá ítarlegar upplýsingar um meitil, keyrðu sysdig skipunina á eftir með -i fánanum og nafni beitilinnar, eins og í eftirfarandi dæmi:

sysdig -i httptop
Flokkur: Forrit --------------------- httptop Helstu HTTP beiðnir Sýna helstu HTTP beiðnir eftir: ncalls, tíma eða bæti Args: [strengur] eftir - Sýna helstu HTTP viðskipti eftir: ncalls, tími eða með tes, sjálfgefið er ncalls

Áframhaldandi dæmi okkar, hér er hvernig þú getur notað httptop meitilinn til að birta helstu HTTP beiðnir:

sysdig -r eftirlit-wordpress.scap -c httptop
ncalls aðferð url ----------------------------------------------- --------------------------------- 2001 FÁ localhost: 8000 /? P = 7 14 OPTIONS * 2 GET localhost: 8000 / favicon.ico 1 GET /wp-content/themes/twentytwenty/assets/fonts/inter/Inter-upright-var.woff2 1 GET localhost / v1.24 / containers / 6bd8418eb03f / json 1 GET localhost / v1.24 / ílát / 06def7875617 / json 1 GET /v1.24/images/1b1624b63467ec61fab209b6be6e79707ae786df86607b9474b246acd31600 1 GET /v1.24/images/db39680b63ac47a1d989da7b2427017017012

Þú getur séð sömu upplýsingar í gámavænu sniði með fána-gáma:

sysdig -r eftirlit-wordpress.scap -c httptop-gámur
ncalls gámaaðferð url ---------------------------------------------- ---------------------------------- 1000 wordpress-sysdig_wo GET localhost: 8000 /? P = 7 1000 gestgjafi GET localhost: 8000 /? p = 7 43 wordpress-sysdig_wo Valkostir * 1 sysdig GET /v1.24/images/1b1624b63467ec61fab209b6be6e79707ae786df86607b9474b246acd31600 1 sysdig GET localhost / v1ET4s7 / 1 cd06093b141b / json 1 sysdig GET /v1.24/images/00e230fe24da9067f9b6e65cfbe9935a5affac1ae8e44edb6a5b0ccc26374d 1 sysdig GET /v1.24/images/db39680b63ac47a2b7db

Að grafa dýpra

Sysdig fangar innihaldsríkar upplýsingar sem gera þér kleift að fá ítarlega innsýn í innra starf gáma þinna. Við skulum gera ráð fyrir að þú hafir keyrt nokkra gáma og viljir vita hvaða ferli notar mest CPU.

  1. Listaðu gámana sem voru virkir á tímabilinu þar sem þú tókst atburði:
sysdig -r eftirlit-wordpress.scap -c lscontainers

2. Þú getur borið kennsl á ílátið sem neytti mest CPU með:

sysdig -r eftirlit-wordpress.scap -c topcontainers_cpu
CPU% gámur. Nafn --------------------------------------------- ----------------------------------- 5,37% wordpress-sysdig_wordpress_1 1,35% wordpress-sysdig_db_1 0,84% gestgjafi 0,51% sysdig

3. Þú getur grafið enn dýpra og bent á CPU-ákafasta ferlið með topprocs_cpu meitlinum:

sysdig -r eftirlit-wordpress.scap -c topprocs_cpu container.name inniheldur wordpress_1
CPU% vinnsla PID ---------------------------------------------- ---------------------------------- 0,12% apache2 8383 0,11% apache2 9413 0,11% apache2 9300 0,11% apache2 9242 0,11% apache2 8897 0,11% apache2 8422 0,10% apache2 9372 0,10% apache2 9241 0,10% apache2 8424 0,09% apache2 9429

Ef þú vilt sjá nánari upplýsingar, þá er ps beitin með fleiri orðréttum valkosti:

sysdig -r monitoring-wordpress.scap -c ps container.name = wordpress-sysdig_wordpress_1
TID PID NOTANDA VIRT RES FDLIMIT CMD 5896 5896 rót 232,82M 22.32M 429496729 apache2 8383 8383 www-gögn 307.44M 25.46M 429496729 apache2 8422 8422 www-data 235.44M 22.90M 429496729 apache2 8424 8424 www -97.46 8897 www-gögn 235.44M 22.89M 429496729 apache2 9154 9154 www-gögn 235.44M 22.91M 429496729 apache2 9241 9241 www-gögn 307.44M 25.66M 429496729 apache2 9242 9242 www-data 307.44M 25.67M 429496700 ap 22.89M 429496729 apache2 9372 9372 www-gögn 235.44M 22.89M 429496729 apache2 9413 9413 www-data 233.44M 20.77M 429496729 apache2

Gagnlegar ráð

Ef þú keyrir Sysdig til að fanga atburði eins og í ofangreindu dæmi (sysdig -w monitoring-wordpress.scap) mun atburðarskráin vaxa stöðugt þar til hún eyðir öllu tiltæku rými. Það eru nokkrar aðferðir sem geta komið í veg fyrir að þetta gerist:

  • Tilgreindu fjölda atburða sem Sysdig ætti að handtaka með því að láta hana fá -n fánann. Þegar Sysdig tekur tiltekinn fjölda atburða mun hann sjálfkrafa hætta:
sysdig -n 5000 -w eftirlit-wordpress.scap
  • Notaðu -C fánann til að stilla Sysdig þannig að það brjóti myndatökuna í minni skrár af tiltekinni stærð. Eftirfarandi dæmi vistar atburði stöðugt í skrár <10MB:
sysdig -C 10 -w eftirlit-wordpress.scap

Þetta mun búa til fullt af skrám sem eru ekki stærri en 10 MB:

ls -lh eftirlit-wordpress *
-rw-r - r--. 1 rót rót 9,6M 7. jan 17:13 eftirlit-wordpress.scap0 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:14 eftirlit-wordpress.scap1 -rw-r - r--. 1 rót rót 9,6M 7. jan 17:14 eftirlit-wordpress.scap2 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:14 eftirlit-wordpress.scap3 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:14 eftirlit-wordpress.scap4 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:14 eftirlit-wordpress.scap5 -rw-r - r--. 1 rót rót 9,6M 7. jan 17:14 eftirlit-wordpress.scap6 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:14 eftirlit-wordpress.scap7 -rw-r - r--. 1 rót rót 6.4M 7. jan 17:14 eftirlit-wordpress.scap8
  • Tilgreindu hámarksfjölda skráa sem Sysdig ætti að geyma með -W fánanum. Til dæmis er hægt að sameina -C og -W fánana eins og svo:
sysdig -C 10 -W 4 -w eftirlit-wordpress.scap

Ofangreind skipun mun aðeins geyma síðustu fjórar handtökuskilin:

ls -lh eftirlit-wordpress *
-rw-r - r--. 1 rót rót 7.2M 7. jan 17:21 eftirlit-wordpress.scap0 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:21 eftirlit-wordpress.scap1 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:21 eftirlit-wordpress.scap2 -rw-r - r--. 1 rót rót 9.6M 7. jan 17:21 eftirlit-wordpress.scap3 rót @ cd06093b141b: / # sysdig -C 10 -W 4 -w eftirlit-wordpress.scap

Eftirlit í rauntíma

Með Sysdig geturðu einnig greint gögn í rauntíma. Við fyrstu sýn getur þetta virst eins og ógnvekjandi verkefni vegna þess að sjálfgefið að allir atburðir eru stöðugt prentaðir út á stjórnborðið. Sem betur fer eru beitir hér til að hjálpa.

Tökum dæmi.

Greindu ferli þína á grundvelli íláts

  1. Keyra eftirfarandi skipun til að skrá gáma þína:
tengikví ps
ID gáma IMAGE CHANDING CREATED STATUS PORTS NAME 5b253e74e8e7 sysdig / sysdig "/docker-entrypoint.…" 9 mínútum síðan Upp 9 mínútur sysdig 06def7875617 wordpress: nýjasta "docker-entrypoint.s ..." 3 klukkustundum síðan Upp 3 klukkustundir 0.0.0.0:8000 -> 80 / tcp wordpress-sysdig_wordpress_1 6bd8418eb03f mysql: 5.7 "docker-entrypoint.s ..." 3 klukkustundum síðan Upp 3 klukkustundir 3306 / tcp, 33060 / tcp wordpress-sysdig_db_1

2. Þú getur greint ferlið sem keyrt er í WordPress ílátinu með:

sysdig -pc -c topprocs_cpu container.name = wordpress-sysdig_wordpress_1

3. Á sama hátt er hægt að greina ferla sem keyra í MySQL ílátinu:

sysdig -pc -c topprocs_cpu container.name = wordpress-sysdig_db_1

Athugaðu að Sysdig er ekki mikið frábrugðið þessu dæmi og getur fylgst með netumferð, disknotkun og svo framvegis.

Í þessari kennslu hefurðu farið yfir grundvallaratriðin í því að nota Sysdig til að fá skýran skilning á virkni sem gámarnir búa til. Dæmin í þessari bloggfærslu hjálpuðu þér að byrja og í framtíðar námskeiðum munum við sýna þér hvernig á að nota Csysdig og Sysdig Inspect.