facebook LinkedIN LinkedIN - follow
IT SYSTEMS 1-2/2005

Monitoring a optimalizace J2EE aplikací



Na trhu se stále více uplatňují služby optimalizace a monitoringu výkonnostních problémů J2EE a portálových aplikací v průběhu celého procesu vývoje, v průběhu zátěžových testů těchto aplikací a v průběhu jejich provozování v reálném prostředí. Potřeba těchto služeb narůstá s počtem nasazení a s velikostí kritických J2EE aplikací a se zvyšujícími se požadavky na garantovanou dostupnost a garantovanou dobu odezvy uživatelů. I na českém trhu, kde v porovnání s americkými měřítky jsou naše „velké“ společnosti spíše malé až střední, lze pozorovat zvýšený zájem o tyto služby a související podpůrné nástroje. Je to jednoduše proto, že si ani naše společnosti nemohou dovolit výpadky svých kritických aplikací, a to obzvlášť tehdy, pokud jsou jejich uživateli zákazníci na internetu


Spolu s podmínkou, aby aplikace "nepadala", dnes již nejsou neobvyklé požadavky typu, že doba odezvy určité uživatelské transakce nesmí přesáhnout tři sekundy, nebo že 90 % všech odezev dané transakce nesmí trvat déle než jednu sekundu. Tyto ukazatele se dále sledují a vyhodnocují. Na druhou stranu řada J2EE a portálových aplikací vzniká tradičně pod velkým časovým tlakem. Ne vždy jsou splněny požadavky na potřebnou kvalifikaci a zkušenost celého realizačního týmu v příslušné technologii. Většinou se již ani nejedná o čisté J2EE aplikace, ale o komplexní systémy s jádrem v J2EE s mnoha vazbami na back-end systémy. Určité mouchy mívá i samotný middleware J2EE, portálů, drivery, JVM apod. Dalším trendem je tlak na zvyšování produktivity útvarů, které v organizacích provozují J2EE a portálové aplikace. Pracovníci těchto útvarů často dohlíží současně na zvýšený počet systémů bez jejich hlubší vnitřní znalosti. Je žádoucí jim tuto dohledovou funkci usnadnit, například právě přehlednou vizualizací stavu odezev J2EE aplikací formou panelů s alerty, integrací s dalšími monitorovacími systémy jako HP OpenView, IBM Tivoli apod. Ideální je poskytnout obsluze provozu včas adresné informace o potenciálních problémech, ještě než problém začne být reálný a kritický. To umožní včas oslovit skupinu, která je problém skutečně schopna řešit, bez svalování odpovědnosti mezi zainteresovanými stranami v momentě, kdy problém již reálně nastal a přirozeně se k němu nikdo nechce hlásit. Nástrojem, který jsme si velice oblíbili pro jeho bezkonkurenční vlastnosti v oblasti monitoringu a optimalizace, je Wily Introscope americké společnosti Wily Technology. Jeho úspěch na zahraničním i našem trhu je dán hlavně díky technologii agentů (Introscope Agents), které mohou běžet jako součást Java Virtual Machine (JVM), produkčních J2EE aplikačních serverů či mohou sledovat JavaBeany nebo Java classy uvnitř aplikace. Tato metoda měření aktivity se stala součástí Java standardu, Java Specification Request 163, který je součástí Java 2 Standard Edition uvolněné v září 2004. Produkt navíc vyniká extrémně nízkým overheadem, takže lze bez nadsázky hovořit o plném "zviditelnění" obsahu černých skříněk při provozu Java/J2EE aplikací.


Schéma činnosti systému Introscope


Protože jsou agenti součástí komponent, Introscope může sbírat průměrné hodnoty odezev EJB, SQL volání, počty volání, maximální a minimální odezvy modulů - vše v reálném čase. Tito agenti se zaměřují po odečtení odezvy vlastní komponenty od externí odezvy na identifikaci problémových komponent. K tomu navíc umožňují agenti trasovat proces vzájemného volání komponent (technologie Blame). Introscope je dodáván s Java Swing nástrojem Workstation. Introscope Workstation slouží k vizualizaci naměřených dat a konfiguraci parametrů monitorování - metrik. Mezi základní měřitelné hodnoty patří: doba odezvy, počet volání během intervalu, zátěž procesorů, velikost paměti JVM, počet aktivních vláken, počet metod nedokončených v definovaném časovém intervalu atd. V základní podobě je každá měřená veličina zobrazována ve formě periodicky aktualizovaného grafu. Navíc Introscope Workstation nabízí možnost vytvářet uživatelsky definované kontrolní panely (dashboards) sdružující různé měřené veličiny. K rychlému prohlížení metrik definovaných ve Workstation postačuje v prohlížeči spustitelný modul WebView. Ve Workstation lze generovat HTML reporty nebo směřovat data na SNMP servery. Panely mohou být přizpůsobeny k zobrazení různých typů metrik v odpovídající úrovni pro různé uživatelské role v organizaci. Aby bylo čtení metrik více uživatelsky přívětivé, lze ke sledování specifické funkcionality využít celé sady typových panelů, např. "dopravních světel". Introscope využívá barev zelené, žluté, červené k zobrazení stavů OK, varování, nebezpečí určité metriky. Pro účely dlouhodobého monitorování bez nutnosti interakce s uživatelem je k dispozici systém varování a akcí (Alerts and Actions) podmíněných překročením prahových hodnot sledovaných veličin. V případě výskytu události je provedena akce v podobě zaslání zprávy elektronickou poštou nebo spuštění libovolného příkazu hostitelského systému.

Introscope také může sledovat interakce mezi Java aplikacemi a back-end systémy. Pomocí dalších rozšiřujících modulů, tzv. PowerPacks, je možno monitorovat i specifické parametry konkrétních aplikačních serverů (BEA WebLogic, WebSphere, Oracle atd.). V případě, že při monitoringu vznikne potřeba získání platformově závislých dat, která nelze standardními postupy pořídit z JVM, je zde k dispozici speciální agent EPA (Environmental Performance Agent), který umožňuje spouštět skript nebo nativní program pro získání těchto dat, např. z operačního systému, web serverů, databází. Tito agenti sbírají zpravidla metriky jako spotřeba paměti, CPU vytížení, stav sítě a lze je využít pro srovnání na společné časové ose s dalšími Java metrikami k určení potenciálních výkonnostních úzkých míst J2EE prostředí. Další důležitou součástí je i Transaction Tracer, který je určen pro zachycování dlouhých transakcí přesahujících definovaný časový interval. Jednotlivé transakce jsou zobrazovány jako posloupnost zúčastněných komponent i s jejich časovými odezvami, kterými se podílejí na celkové době transakce.

Nasbírané hodnoty metrik lze ukládat do flat souborů i do relační databáze libovolného typu. Wily Technology rozšířila své portfolio i o nástroj pro monitorování portálů - Wily Portal Manager. Portálová řešení jsou v současné době často spojena s výkonnostními problémy a "pády" aplikací, což zvyšuje zájem o služby popisované v tomto článku. Wily Portal Manager umožňuje na stejných principech jako Introscope monitorovat individuální portlety, procesy workflow, vazby na back-end systémy a aplikační servery. Pro vůdčí portálové produkty BEA WebLogic Portal a IBM WebSphere Portal existují specializované nadstavby. Poslední release Wily Introscope rozšířil nabídku modulů o Brower Response Time Adapter, který umožňuje měření transakcí již od úrovně uživatelského požadavku v prohlížeči. Je tak možno podrobně zmapovat, co se děje a s jakými prodlevami uvnitř aplikace v rámci celého volání transakce. Wily Introscope se jeví jako velmi vhodný a relativně cenově dostupný nástroj pro monitorování J2EE aplikací a portálových řešení. Zvláště je oceňován pro svoji vysokou míru přizpůsobivosti individuálním požadavkům zákazníků. Z našich zkušeností můžeme potvrdit otevřenost produktu. Každý z našich zákazníků měl svým způsobem specifické požadavky na monitorování, nicméně to nebránilo ve velmi krátké době pilotního ověření přizpůsobit produkt jejich nestandardním požadavkům.

Autor článku, Martin Sláma, je vedoucím týmu ve společnosti Komix.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.