Sysdig: Mi ez és hogyan kell használni

A Sysdig egy univerzális rendszer láthatósági eszköz, amely támogatja a konténereket. A Sysdig különlegessé teszi azt, hogy bekapcsolja magát a gép kernelébe, és az információkat konténerenként elkülöníti. Az oktatóanyag körében a Sysdig nyílt forrású verziójára összpontosítunk.

A következő szakaszokban:

  • Telepítse a Sysdig alkalmazást
  • Keresse meg a Wordpress telepítését a docker-compose segítségével
  • A Sysdig használatával gyűjtheti az eseményeket, és később elemezheti azokat
  • A Sysdig segítségével valós időben elemezheti az adatokat

Előfeltételek

  • A Docker telepítve van a rendszerén. A Docker telepítésével kapcsolatos részleteket lásd a Docker telepítése oldalon.
  • A Docker Compose telepítve van a rendszerén. A Docker Compose telepítéséről az Docker Compose telepítése oldalon olvashat.
  • A kernel fejlécek telepítve vannak a gazdagépen.

Telepítse a Sysdig alkalmazást

Kövesse az alábbi lépéseket a Sysdig telepítéséhez a Docker tárolóba:

  1. A terminálablakban hajtsa végre a következő parancsot a Sysdig Docker kép behúzásához:
dokkoló pull sysdig / sysdig
Alapértelmezett címke használata: a legfrissebb: Húzza a sysdig / sysdig 2967486b0658-ból: Húzza ki a teljes 78101b780c72: Húzza ki a teljes 7e78b657334d: Húzza be a teljes 650327159ca8: Húzza ki a teljes egészet 47ebf73ab754: Húzza el a teljes bf51ac76a6d9: Húzza el a teljes egészet Húzza be a teljes 6de86c8ed6e9: Húzza ki a teljes 8d1825f8be4b: Húzza a teljes kivonatot: sha256: bbfe6953fd2b3221a8974eb13024dd33c7e78aebef8fee3d7a0d9ecdeed84ce0 Állapot: Letöltve a sysdig legújabb újabb képe

2. Futtassa a Sysdig tárolóban az alábbiak megadásával:

docker run -i -t - sysdig név - privilegizált -v /var/run/docker.sock:/host/var/run/docker.sock -v / dev: / host / dev -v / proc: / host / proc: ro -v / rendszerindítás: / host / rendszerindítás: ro -v / lib / modulok: / host / lib / modulok: ro -v / usr: / host / usr: ro sysdig / sysdig
* Az / usr / src hivatkozások beállítása a gazdagépről. * A sysdig-probe kiszerelése, ha van ilyen. echo A 3.10.0-957.12.2.el7.x86_64 kernel fejlécei nem találhatók a /lib/modules/3.10.0-957.12.2.el7.x86_64/build vagy /lib/modules/3.10.0-957.12 könyvtáron. .2.el7.x86_64 / forrás. * A dkms build futtatása sikertelen, nem található a /var/lib/dkms/sysdig/0.26.4/build/make.log * Rendszer sysdig-probe betöltése, ha van. .0-957.12.2.el7.x86_64 A rendszermag konfigurációja a /host/boot/config-3.10.0-957.12.2.el7.x86_64 webhelyen található. * Előzetesen összeállított modul letöltése a következő webhelyről: https://s3.amazonaws.com/download .draios.com / stabil / sysdig-probe-binaries / sysdig-probe-0.26.4-x86_64-3.10.0-957.12.2.el7.x86_64-82e2ae1fb159132636f7b50a762f20ef.ko a letöltés sikeres, a root root betöltése @ 7b14a23f22eb: / #

Néhány dolog, amit meg kell említeni a fenti parancsról:

  • A -i zászló nyitva tartja a STDIN-t.
  • A --privileged paraméter hozzáférést biztosít a gazdagép minden eszközéhez. Azt is beállítja, hogy a SELinux lehetővé tegye a tároló belsejében futó folyamatok számára a gazdagéppel azonos hozzáférést, mint a gazdagépen futó folyamatok.
  • A -v zászló megadja a fájlok listáját (a gazdagépen), amelyekhez a Sysdig hozzáférhet.

Keresse meg a Wordpress telepítését

Ebben a szakaszban a Wordpress-t a docker-compose paranccsal telepíti.

  1. Egy új terminál ablakban lépjen a projekt könyvtárba, és írja be a következő parancsokat:
mkdir wordpress-sysdig && cd wordpress-sysdig

2. Hozzon létre egy docker-compose nevű fájlt a következő tartalommal:

verzió: '3.3' szolgáltatások: db: kép: mysql: 5.7 kötetek: - db_data: / var / lib / mysql újraindítás: mindig környezet: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordb: image_:: --_:: wordpress: legfrissebb portok: - "8000: 80" újraindítás: mindig környezet: WORDPRESS_DB_HOST: db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress kötetek: db_data: {}

3. Futtassa a dokkoló-összeállítás parancsot leválasztott módban a következőkkel:

dokkoló-összeállítás up -d
"Wordpress-sysdig_default" hálózat létrehozása az alapértelmezett illesztőprogrammal A "wordpress-sysdig_db_data" kötet létrehozása az alapértelmezett illesztőprogrammal Wordpress (wordpress: legfrissebb) húzása ... legfrissebb: Hívás a könyvtárból / wordpress 8ec398bc0356: Húzza teljes 85cf4fc86478: Húzza teljes 970dadf4ccb6: Pull teljes 8c04561117a4: Pull teljes d6b7434b63a2: Pull teljes 83d8859e9744: Pull teljes 9c3d824d0ad5: Pull teljes 9e316fd5b3b3: Pull teljes 578b40496c37: Pull teljes 814ae7711d3c: Pull teljes 4896fed78b6b: Pull teljes e74d71e9611d: Pull teljes 46017765526c: Pull teljes 280.386.098.458: Pull teljes f32eb0d8c540: húzza teljes 5c47b9ea747a: húzza teljes ecda5b7aad12: pull teljes 84256a6b6b44: pull teljes 35d4f385efb7: pull teljes bf697c2ae701: pull teljes d054b015f084: pull teljes Digest: sha256: 73e8d8adf491c7a358ff94c74c8ebe35cb5f8857e249eb8ce6062b8576a01465 Állapot: a letöltött újabb kép wordpress: legújabb létrehozása wordpress-sysdig_db_1 ... kész létrehozása wordpress-sysdig_word press_1 ... kész

4. A konténerek állapotát a következőkkel ellenőrizheti:

dokkoló ps

Ha minden jól megy, akkor látnia kell valami hasonlót a következő kimenethez:

Konténer azonosító KÉPKEZELŐ KÉSZÍTETT STATUSZ PORTOK NEVE f390eec29f52 wordpress: legfrissebb "docker-entrypoint.s…" Körülbelül egy perccel ezelőtt Up Körülbelül egy perc 0.0.0.0:8000->80/tcp wordpress-sysdig_wordpress_1 a844840626d8 mysql: 5.7 "docker-entrypoint. s… "Körülbelül egy perccel ezelőtt Up Körülbelül egy perc 3306 / tcp, 33060 / tcp wordpress-sysdig_db_1 7b14a23f22eb sysdig / sysdig" /docker-entrypoint.… "13 perccel ezelőtt Fel 13 perc sysdig

5. A Wordpress már működik és fut. Mutasson a böngészőjére a http: // localhost: 8000 linkre a telepítővarázsló elindításához:

6. Miután a telepítő varázsló befejeződött, menjünk tovább és hozzunk létre egy mintaposztot:

Adatok gyűjtése egy fájlba

Ebben a szakaszban megmutatjuk, hogyan lehet a Sysdig segítségével eseményeket gyűjteni és később elemezni.

  1. Az összes rögzített esemény fájlba történő áthelyezéséhez lépjen a Sysdig tárolóba, és írja be a következő parancsot:
sysdig -w monitoring-wordpress.scap

2. Egy új terminálablakban az ab gombbal 10000 kérést lehet készíteni, legfeljebb 100 kérelem egyidejű futtatásával:

ab -n 1000 -c 100 http: // localhost: 8000 /? p = 7
Ez az ApacheBench, 2.3-as verzió <$ Revízió: 1430300 $> Szerzői jog 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Az Apache Software Foundation engedéllyel rendelkezik, http://www.apache.org/ Benchmarking localhost (légy türelmes) befejeződött 100 kérés befejeződött 200 kérés befejeződött 300 kérés befejeződött 400 kérés befejeződött 500 kérés befejeződött 600 kérés befejeződött 700 kérés befejeződött 800 kérés befejeződött 900 kérés befejeződött 1000 kérés befejeződött 1000 kérés

Vegye figyelembe, hogy a fenti kimenet rövidítés céljából meg lett csonkítva.

3. Menjen vissza a Sysdig tárolóba, és hagyja abba az adatok rögzítését a „CTRL + C” beírásával.

Adatok elemzése

Ha megnézzük a monitoring-wordpress.scap fájl méretét, akkor észreveszik, hogy a Sysdig legalább 80 millió adatot rögzített:

ls -lh monitoring-wordpress.scap
-RW-R - r--. 1 gyökérgyökér 80M január 7, 16:28 monitoring-wordpress.scap

Az adat ezen a hegyen keresztüljutáshoz viseletnek nevezik.

A véső alapvetően Lua szkript, amely elemzi az eseményfolyamot és hasznos műveleteket hajt végre.

A vésők listájának megjelenítéséhez a következő parancsot futtathatja:

sysdig -cl
Kategória: Alkalmazás --------------------- httplog HTTP kérések naplója httptop top HTTP kérések memcachelog memcached kérések naplója Kategória: CPU használat ---------- --------- spektrogram Képzelje el az operációs rendszer késleltetését valós időben. subsecoffset A másodlagos másodlagos eltolás végrehajtási idejének megjelenítése. topcontainers_cpu Legjobb tárolók CPU felhasználás szerint topprocs_cpu Legfontosabb folyamatok CPU felhasználás szerint Kategória: Hibák ---------------- topcontainers_error Legjobb tárolók hibák száma szerint topfiles_errors Legjobb fájlok hibák száma szerint topprocs_errors top folyamatok száma szerint hibák

Vegye figyelembe, hogy a fenti kimenet rövidítés céljából meg lett csonkítva.

A vésővel kapcsolatos részletes információk beolvasásához futtassa a sysdig parancsot, majd kövesse a -i zászlót és a véső nevét, a következő példában leírtak szerint:

sysdig -i httptop
Kategória: Alkalmazás --------------------- httptop top HTTP kérések A legnépszerűbb HTTP kérések megjelenítése: ncalls, time vagy bytes szerint Args: [string] by - A top HTTP tranzakciók megjelenítése írta: ncalls, time vagy tes, alapértelmezés szerint ncalls

Folytatva a példánkat, az alábbiakban bemutatjuk, hogyan használhatja a httptop vésőt a legfontosabb HTTP kérések megjelenítéséhez:

sysdig -r monitoring-wordpress.scap -c httptop
ncalls módszer url ----------------------------------------------- --------------------------------- 2001 GET localhost: 8000 /? P = 7 14 OPCIÓK * 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 / konténerek / 06def7875617 / json 1 GET /v1.24/images/1b1624b63467ec61fab209b6be6e79707ae786df86607b9474b246acd31600 1 GET /v1.24/images/db39680b63ac47a1f3b4e2b2e4b2e4b2e4b8b4e4b1e4b9b1b4e4e4b1e4b1e4b1e4b2b2a

Ugyanazt az információt láthatja konténerbarát formátumban a -pcontainer zászlóval:

sysdig -r monitoring-wordpress.scap -c httptop -pcontainer
ncalls tároló módszer URL ---------------------------------------------- ---------------------------------- 1000 wordpress-sysdig_wo GET localhost: 8000 /? P = 7 1000 host GET localhost: 8000 /? p = 7 43 wordpress-sysdig_wo OPCIÓK * 1 sysdig GET /v1.24/images/1b1624b63467ec61fab209b6be6e79707ae786df86607b9474b246acd31600 1 sysdig GET localhost / v1.24 / tárolók / 06defff cd06093b141b / json 1 sysdig GET /v1.24/images/00e230fe24da9067f9b6e65cfbe9935a5affac1ae8e44edb6a5b0ccc26374d 1 sysdig GET /v1.24/images/db39680f3b7a7b3b7ac7b7ac7b7ac47a

Mélyebbre ásni

A Sysdig tartalomban gazdag információkat gyűjt, amelyek segítségével részletes betekintést nyerhet a tárolók belső működésébe. Tegyük fel, hogy néhány tárolót futtat, és szeretné tudni, hogy melyik folyamat használja a legtöbb CPU-t.

  1. Sorolja fel azokat a konténereket, amelyek aktívak voltak abban az időszakban, amikor az eseményeket rögzítették:
sysdig -r monitoring-wordpress.scap -c lscontainers

2. A legtöbb processzort fogyasztó tároló azonosítható a következőkkel:

sysdig -r monitoring-wordpress.scap -c topcontainers_cpu
CPU% container.name --------------------------------------------- ----------------------------------- 5,37% wordpress-sysdig_wordpress_1 1,35% wordpress-sysdig_db_1 0,84% gazdagép 0,51% sysdig

3. Mélyebben áshat, és azonosíthatja a leginkább CPU-igényes folyamatot a topprocs_cpu véső segítségével:

sysdig -r monitoring-wordpress.scap -c topprocs_cpu container.name tartalmazza a wordpress_1-et
CPU% folyamat 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

Ha további részleteket szeretne látni, akkor a ps véső sokkal pontosabb alternatívát kínál:

sysdig -r monitoring-wordpress.scap -c ps container.name = wordpress-sysdig_wordpress_1
TID PID FELHASZNÁLÓ VIRT RES FDLIMIT CMD 5896 5896 root 232,82M 22,32M 429496729 apache2 8383 8383 www-data 307,44M 25,46M 429496729 apache2 8422 8422 www-data 235,44M 22,90M 429496729 apache2 8424ac 844 45M 45,44 8897 www-adatok 235.44M 22.89M 429496729 apache2 9154 9154 www-data 235.44M 22.91M 429496729 apache2 9241 9241 www-adatok 307.44M 25.66M 429496729 apache2 9242 9242 www-adatok 307.44M 93.600M 23.629M 22.89M 429496729 apache2 9372 9372 www-data 235.44M 22.89M 429496729 apache2 9413 9413 www-data 233.44M 20.77M 429496729 apache2

Hasznos tippek

Ha a Sysdig futtatja az események rögzítéséhez, mint a fenti példában (sysdig -w monitoring-wordpress.scap), az eseményfájl folyamatosan növekszik, amíg az összes rendelkezésre álló helyet el nem használja. Néhány módszer segíthet megakadályozni ennek megvalósulását:

  • Adja meg az események számát, amelyet Sysdig-nek el kell érnie az -n zászló átadásával. Amint a Sysdig rögzíti a megadott számú eseményt, automatikusan kilép:
sysdig -n 5000 -w monitoring-wordpress.scap
  • A -C jelöléssel konfigurálhatja a Sysdig oldalt úgy, hogy az elfogja a megadott méretű kisebb fájlokat. A következő példa folyamatosan menti az eseményeket <10 MB fájlokba:
sysdig -C 10 -w monitoring-wordpress.scap

Ezzel egy 10 MB-nál nem nagyobb fájlcsomagot hoz létre:

ls -lh monitoring-wordpress *
-RW-R - r--. 1 gyökér gyökér 9.6M január 7 17:13 monitoring-wordpress.scap0 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap1 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap2 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap3 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap4 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap5 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap6 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:14 monitoring-wordpress.scap7 -rw-r - r--. 1 gyökér gyökér 6.4M január 7, 17:14 monitoring-wordpress.scap8
  • Adja meg a fájlok maximális számát, amelyet a Sysdignek -W jelzővel meg kell őriznie. Például kombinálhatja a -C és -W zászlókat, így:
sysdig -C 10 -W 4 -w monitoring-wordpress.scap

A fenti parancs csak az utolsó négy rögzítési fájlt tárolja:

ls -lh monitoring-wordpress *
-RW-R - r--. 1 gyökér gyökér 7.2M január 7 17:21 monitoring-wordpress.scap0 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:21 monitoring-wordpress.scap1 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:21 monitoring-wordpress.scap2 -rw-r - r--. 1 gyökér gyökér 9.6M január 7 17:21 monitoring-wordpress.scap3 root @ cd06093b141b: / # sysdig -C 10 -W 4 -w monitoring-wordpress.scap

Valós idejű figyelés

A Sysdig segítségével valós időben is elemezheti az adatokat. Első pillantásra ez ijesztő feladatnak tűnik, mivel alapértelmezés szerint minden eseményt folyamatosan kinyomtatnak a konzolra. Szerencsére vésők vannak itt, hogy segítsenek.

Vegyünk egy példát.

Elemezze folyamatait egy konténer alapon

  1. Futtassa a következő parancsot a tárolók felsorolásához:
dokkoló ps
Konténer azonosító KÉPKEZELŐ LÉTREHOZOTT STATUSZ PORTOK NEVE 5b253e74e8e7 sysdig / sysdig "/docker-entrypoint.…" 9 perccel ezelőtt Up 9 minutes sysdig 06def7875617 wordpress: legfrissebb "docker-entrypoint.s ..." 3 óra ezelőtt Up 3 óra 0.0.0.0:8000 -> 80 / tcp wordpress-sysdig_wordpress_1 6bd8418eb03f mysql: 5.7 "docker-entrypoint.s…" 3 órával ezelőtt Fel 3 órával 3306 / tcp, 33060 / tcp wordpress-sysdig_db_1

2. A WordPress tárolóban futó folyamatokat a következőkkel elemezheti:

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

3. Hasonlóképpen elemezheti a MySQL tárolóban futó folyamatokat:

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

Vegye figyelembe, hogy a Sysdig nem sokban különbözik a példától, és figyelemmel kíséri a hálózati forgalmat, a lemezfelhasználást és így tovább.

Ebben az oktatóanyagban áttekintette a Sysdig használatának alapjait, hogy világosan megértse a tárolók által generált tevékenységeket. A blogbejegyzés példái segítettek az elindulásban, és a jövőbeni útmutatókban megmutatjuk, hogyan kell használni a Csysdig és a Sysdig Inspect.