WebLogic Diagnosztikai Keretrendszer (WebLogic Diagnostic Framework – WLDF) - 1. rész

2011-09-12

Cikkünk első részében megismerkedünk az Oracle méltán népszerú WebLogic Server 11g Java alkalmazásszerverének diagnosztikai moduljával. Egy valós, nagyvállalati példán keresztül követjük végig a keretrendszer egyes elemeit. A vá...

Cikkünk első részében megismerkedünk az Oracle méltán népszerú WebLogic Server 11g Java alkalmazásszerverének diagnosztikai moduljával. Egy valós, nagyvállalati példán keresztül követjük végig a keretrendszer egyes elemeit.

A vállalatnál egy WebLogic 11g cluster-en futó EJB alkalmazás látja el a Front-End rendszerek kiszolgálását. Mint általában a Java alapú rendszereknél itt is gyakran felmerültek memóriaproblémák. Továbbá előfordult, hogy hibás Front-End múködés okozott túlterhelést a rendszerben. Ezért a rendszeradminisztrátorok úgy döntöttek, hogy komplex monitorozó megoldást vezetnek be a rendszer viselkedésének nyomon követésére. Ezenkívül a bevezetendő rendszer feladata volt, hogy az extrém körülmények létrejöttét felismerje és riasztást küldjön róla az operátoroknak.  Ezen feladatokhoz a cég nem third-party szoftvert vásárolt, hanem a rendkívül rugalmas és hatékony WebLogic Diagnosztikai Keretrendszert állította be, mely részét képezi az Oracle WebLogic Server 11g terméknek.

 

A szerver alábbi szokatlan viselkedését kellett felismernünk:

  • Bizonyos függvények hívásszáma kiugróan megnőtt, ezzel a rendszer összeomlását idézve elő.
  • WebLogic node-on vagy az Admin szerveren elfogyott a szabad heap, ezért a node-ok nem tudták kiszolgálni a kéréseket.
  • A memóriában tárolt párhuzamos tranzakciók száma kiugróan megnőtt, ezért a szabad memória kapacitás egy kritikus érték alá csökkent.
  • Adott függvények futási ideje megnőtt, ami valamilyen Back-End (pl. adatbázis) oldali hibát jelez.

Lássuk először mi is az a WLDF, ami mindebben segítségünkre volt.

Moduláris felépítésú monitorozó és diagnosztikai keretrendszer, ami a WebLogic szerveren belül fut és gondoskodik a diagnosztikai adatok létrehozásról, összegyújtéséről, analizálásáról, archiválásáról és az adatokhoz való hozzáférésről.

 

Legfontosabb elemei:

  • Instrumentation: WebLogic szerveren futó üzleti kódhoz diagnosztikai utasításokat adhatunk hozzá. Technológiai alapja a byte-kód beszúrás. Például segítségével időmérő utasításokat helyezhetünk el futási időben egy adott metódusnál. Rendkívül hatékony eszköz a performancia problémák feltárásához. Ugyanakkor használatával óvatosan kell bánni, hiszen ha hibás a beszúrt kód, akkor az üzleti metódus is hibát okoz, továbbá bizonyos overhead-et is adunk a rendszer performanciájához.
  • Harvester: az adatok összegyújtését végzi. Gyakorlatilag meghívja az MBean-eket és azokból gyújti össze az adatokat.
  • Watches and Notifications: különböző eseményeket definiálhatunk a gyújtött diagnosztikai adatokon. Például a szabad memória mérete egy adott limit alá csökken. Ezen események bekövetkezésekor riasztást küldhetünk.
  • Archive: a gyújtött adatok tárolásáért felelős komponens. Lehetőségünk van bizonyos szabályok szerint (például 30 nap után) törölni a régi adatokat.
  • Monitoring Dashboard: grafikus diagrammokon követhetjük a WebLogic szerver állapotát. Lehetőség van az archivált adatok megtekintésére is. Több előre definiált nézetet is kapunk.

 

A WLDF architektúráról a hivatalos angol nyelvú leírás innen érhető el.

 

A WLDF beállításáról pontos képet kap a Masterfield Oktatóközpont WebLogic tanfolyamán. Tájékozódjon képzési adatlapunkon, illetve keresse Munkatársunkat további információért. Jelentkezzen Ön is, hogy mielőbb professszionális tudást szerezzen!