1 / 20

Alkalmazások monitorozása webes környezetben

Börcsök József borcsokj@sch.bme.hu. Alkalmazások monitorozása webes környezetben. Áttekintés. Alkalmazásonként milyen adatok gyűjtsünk? Milyen eszközökkel tudjuk ezeket kiolvasni? Milyen következtetéseket lehet levonni a begyűjtött adatokból?

sumana
Download Presentation

Alkalmazások monitorozása webes környezetben

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Börcsök József borcsokj@sch.bme.hu Alkalmazások monitorozásawebes környezetben

  2. Áttekintés • Alkalmazásonként milyen adatok gyűjtsünk? • Milyen eszközökkel tudjuk ezeket kiolvasni? • Milyen következtetéseket lehet levonni a begyűjtött adatokból? • Példa egy rendszert monitorozó és egy web log analizáló alkalmazásra • További következtetések levonásához miket lehet még figyelembe venni?

  3. Miket figyeljünk, mennyit logoljunk • Minden alkalmazás esetén a hibák logolása (ERROR) • Információs (INFO) szinten csak azok, amiket később felhasználunk (nagyra nőhetnek egyébként) • Néha hasznos lehet az eredeti formátum helyett valami más (szabványosabb használata) • Központi logolás is kialakítható, (syslog-ng)

  4. Példa: a munin segédeszköz • Segédeszköz a rendszer változóinak figyelésére és grafikus megjelenítésére • napi, heti, havi és éves grafikonok • Honlap: http://www.linpro.no/projects/munin/

  5. Példagrafikonok (load és memória) • 5 perces átlagos load: a futásra kész sorban lévő folyamatok átlagos száma az utolsó 5 percben, a blokkolt folyamatokat nem számolva.

  6. Munin: alkalmazásszintű grafikonok • Apache: szálak, kérések, adatmennyiség • Filerendszer kihasználtság • IO műveletek: blokkírás, -olvasás • Levelezés: sorok hossza, elküldött levelek • Tűzfal: hálózati kapcsolatok típus és állapot szerint • Adatbázisok statisztikák: olvasott/írt blokkok, commit/rollback száma, indexelt és index nélküli keresések, insert, update, delete

  7. Munin: rendszerszintű grafikonok • Folyamatok száma (összes; running/sleeping) • HW: hőmérséklet, feszültségek, ventillátorok fordulatszáma • CPU kihasználtság • Megszakításokés kontextus váltások • Load • Memória használat • Swap műveletek • Hálózati forgalom, kapcsolatok szolgáltatások szerint • saját statisztikák

  8. Munin adatforrások • Több forrás: • log • /proc filerendszer • Állapotlekérdező parancs uptime, free, df, mysqladmin • Adatbázis • Gyűjtés: időzített scriptek (pluginok) • Tárolás: RRD formátumban • Megjelenítés:grafikon • Scriptek nyelve: shell, perl vagy python

  9. Példa a scriptekre (részletek): CPU kihasználtságának állapota (shell script) if [ ! -z "$extinfo" ] then awk '/^cpu / { print "user.value " $2 "\nnice.value " $3 "\nsystem.value " $4 "\nidle.value " $5 "\niowait.value " $6 "\nirq.value " $7 "\nsoftirq.value " $8 }' < /proc/stat else awk '/^cpu / { print "user.value " $2 "\nnice.value " $3 "\nsystem.value " $4 "\nidle.value " $5 }' < /proc/stat fi Memória használatának jellemzői (Perl script) open (IN, "/proc/meminfo") || die "Could not open /proc/meminfo for reading: $!"; while (<IN>) { if (/^(\w+):\s*(\d+)\s+kb/i) { $mems{"$1"} = $2 * 1024; } }

  10. Munin: következtetés • Periodicitás • Napi- és heti • Trend (pl. éves)

  11. Munin: korrelációanalízis Apache szálak MySQL lekérdezések CPU

  12. További monitorozási eszközök • Solaris 10 – DTrace: dinamikus nyomkövető keretrendszerhttp://www.opensolaris.org/os/community/dtrace/ • Pillanatnyi kép: hagyományos UNIX parancsok, pl. top, ps -auxs, df, free, vmstat • Óránkénti, napi összefoglalók: logcheck • Komolyabb felügyeleti rendszerek: Tivoli, Unicenter

  13. A web szerver logjai • Alapértelmezés:minden letöltést logol (access.log):%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot • Hibák: külön file-ba (error.log) • Több domain kiszolgálása ->több file(Apache esetén ez korlátos), vagy egy a domain megjelölésével • érdemes időnként (naponta – hetente) új file-t nyitni (logrotate)

  14. Web log analízis • a két leggyakrabban használt program: webalizer és AWstats • Miket láthatunk: • látogatók; találatok; oldalak; letöltött adatmennyiség; országok, böngészők, op.rendszerek eloszlása, keresőkifejezések • gyűjtés saját formában

  15. AWstats lehetőségei • azonnali (CGI) megjelenítés vagy statikus oldalak generálása • napi, havi és évi összesítések • weben kívül FTP és levelező szerverek analizálásához is használható

  16. AWstats: periódikusság

  17. AWstats: további következtetések • kiugró értékek (pl. InfoSite költözés, Index link) • belépési oldalak • milyen keresőkifejezések alapján találják meg az oldalt – jó kiindulás az optimalizáláshoz • leggyakoribb letöltések (Zipf) • ami ilyen egyszerűen nem állapítható meg: tipikus viselkedési szokások

  18. Példa: Hírek a VIRen 80-20 szabály és Zipf-törvény • Összes oldal: 583 • Összes letöltés: 31388; 80%-a: 25110 • Legolvasottabb letöltés: kb. 1000 • Felső 20% aljának letöltési száma: 67 • Felső 20% összes letöltése: 27410

  19. Mivel egészíthetjük ki a webes alkalmazásokat? • Oldalak közötti navigáció mentén logolás (milyen esemény [kattintás] hatására milyen oldalra ment tovább a felhasználó) • Java ServerFaces esetén action metódusban logolás • Letöltések (oldalak és médiaanyagok) számlálása – így egyszerűbben kinyerhetők • Számadatok munin segítségével grafikonon ábrázolhatók (automatikus) • A szoros kapcsolatba tartozó elemek egy oldalra csoportosítása (pl. portálon egy tab)

  20. Hasznos linkek • http://www.linpro.no/projects/munin/ • http://www.awstats.org/ • http://www.mrunix.net/webalizer/ • http://logging.apache.org/log4j/docs/ Köszönöm a figyelmet!

More Related