alkalmazások monitorozása webes környezetben

20
Alkalmazások monitorozása webes környezetben Börcsök József [email protected]

Upload: sumana

Post on 12-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Börcsök József [email protected]. 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? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Alkalmazások monitorozása webes környezetben

Alkalmazások monitorozásawebes környezetben

Börcsök Jó[email protected]

Page 2: 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? 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?

Page 3: Alkalmazások monitorozása webes környezetben

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)

Page 4: Alkalmazások monitorozása webes környezetben

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/

Page 5: Alkalmazások monitorozása webes környezetben

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.

Page 6: Alkalmazások monitorozása webes környezetben

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

Page 7: Alkalmazások monitorozása webes környezetben

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

Page 8: Alkalmazások monitorozása webes környezetben

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

Page 9: Alkalmazások monitorozása webes környezetben

Példa a scriptekre (részletek):

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/statelse awk '/^cpu / { print "user.value " $2 "\nnice.value " $3 "\nsystem.value " $4 "\nidle.value " $5 }' < /proc/statfi

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; }}

CPU kihasználtságának állapota (shell script)

Memória használatának jellemzői (Perl script)

Page 10: Alkalmazások monitorozása webes környezetben

Munin: következtetés Periodicitás

Napi- és heti Trend (pl. éves)

Page 11: Alkalmazások monitorozása webes környezetben

Munin: korrelációanalízis

Apache szálak MySQL lekérdezések

CPU

Page 12: Alkalmazások monitorozása webes környezetben

További monitorozási eszközök

Solaris 10 – DTrace: dinamikus nyomkövető keretrendszer

http://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

Page 13: Alkalmazások monitorozása webes környezetben

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)

Page 14: Alkalmazások monitorozása webes környezetben

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

Page 15: Alkalmazások monitorozása webes környezetben

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ó

Page 16: Alkalmazások monitorozása webes környezetben

AWstats: periódikusság

Page 17: Alkalmazások monitorozása webes környezetben

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

Page 18: Alkalmazások monitorozása webes környezetben

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

Page 19: Alkalmazások monitorozása webes környezetben

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)

Page 20: Alkalmazások monitorozása webes környezetben

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!