Alkalmazások monitorozása webes környezetben

Preview:

DESCRIPTION

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? - PowerPoint PPT Presentation

Citation preview

Alkalmazások monitorozásawebes környezetben

Börcsök Józsefborcsokj@sch.bme.hu

Á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?

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)

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/

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.

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

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

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

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)

Munin: következtetés Periodicitás

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

Munin: korrelációanalízis

Apache szálak MySQL lekérdezések

CPU

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

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)

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

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ó

AWstats: periódikusság

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

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

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)

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!

Recommended