Ugrás a fő tartalomra

Dynatrace alapok








Dynatrace egy Alkalmazás Performance Management megoldás Dynatrace Software egy vezető alkalmazás Performance Management Tool.


A Dynatrace piacvezető platform ezt nyújtja a felhasználók számára: full-stack monitoringot, azaz a teljes infrastruktúra megfigyelését, beleértve az alkalmazások, teljesítmény és a végfelhasználói monitoringját is, nagyfokú automatizáció mellett.








Szótár:




APM: alkalmazás teljesítmény monitoring vagy angolul application performance monitoring



Alapok

A nagyvállalati alkalmazásoknál gyakran előforduló jelenség, hogy a felhasználók a nagy válaszidőkre, instabil és bugos alkalmazásokra vagy éppen az időszakosan elérhetetlen rendszerekre panaszkodnak. Jobb esetben ilyenkor megtörténik a hiba bejelentése, majd a fejlesztőkhöz napokkal később eljut az általában hiányosan kitöltött hibariport akik elkezdik az alrendszerekhez tartozó napló állományokat bújni és időnként felkeresik az architekteket némi plusz információ reményében hogy megoldást találjanak a problémára.




Mi a gond ezzel a megközelítéssel?

• A problémák egyértelmű beazonosításához nem áll minden információ a rendelkezésünkre vagy ha igen, akkor túl sokáig tart a kinyerésük.

• Nagyvállalati rendszerek esetén a felhasználók kérései több rendszeren is keresztülhaladnak ezért a belassulások, stabilitási problémák és a hibák beazonosítása kifejezetten nehéz feladat. A felderítés során leginkább a napló állományokra támaszkodhatunk, amik az egyes rendszereknél elszórva (nem központosítva) helyezkednek el.

• A naplóállományok egyenkénti átnézése sok időt vehet igénybe és legtöbbször pont a számunkra fontos kontextus információk hiányoznak belőle.

• Mivel a problémákra nem tudunk egyből reagálni, romlik a felhasználói elégedettség és csökken az üzleti teljesítőképesség is.




A Dynatrace automatizált működés támogatásával a teljes szoftver életcikluson keresztül időt, pénzt és erőforrásokat takarít meg.

A most már beépített mesterséges intelligencia az előrejelzéssel, az automatikus probléma és gyökérok felderítéssel segíti a szakmai területeket az értéknövelt feladatokra fókuszálásban.

A dynaTrace egyik legnagyobb előnye, hogy ezen információk begyűjtéséhez sehol sem kell a kódhoz hozzányúlni, csupán egy JAVA/JVM vagy .NET/CLR argumentumot kell felvenni és a 2%-nál kevesebb overhead-nek köszönhetően éles környezetben is használható.



A dynaTrace architektúra

A dynaTrace egy performancia menedzsment és monitoring (APM) eszköz, amely lehetővé teszi a teljesítménybeli ill. stabilitási problémák analizálását és monitorozását, többrétegű heterogén (Support Matrix) rendszereken keresztül. Az egyedi felhasználói tranzakciók analizálása (7*24) a PurePath technológia segítségével történik, ami nem aggregált hanem a pontos értékekkel dolgozik.




A performancia problémák analizálása mellett a DynaTrace kiválóan alkalmas a teljes rendszerünk monitorozására és az incidens alapú riasztások kialakítására is!

Ahhoz, hogy bizonyos jellemzőket (Measure) - pl. processzor kihasználtság, jvm heap használat, válasz idők, stb... - monitorozni tudjunk, fel kell rájuk iratkozni.

A DynaTrace az alapértelmezett és a kiválasztott measure-ök adatait a Perfromance Warehouse-ban fogja eltárolni. Fontos megjegyezni, hogy ezek az eltárolt adatok csak aggregátumok, azaz a min, max, avg, sum és count értékek tárolódnak el a meghatározott időablakra nézve (10sec, de akár módosítható is a DynaTrace felületén).

A dynaTrace a felhasználók minden egyes kéréséhez egy új PurePath-t fog elmenteni, amihez a hívási lánc, a pontos végrehajtási idők, kivételek, naplóbejegyzések, metódus argumentumok és visszatérési értékek is rögzítésre kerülnek.


A mérendő információk finomhangolásához szenzorokat definiálhatunk a szervereken. Minden szerverre egy-egy ágenst kell feltelepíteni, pl. Java esetében JVM argumentumon keresztül. Az ágensek, az általuk összegyűjtött információkat a PurePath Collector-nak adják tovább.

A PurePath kollektorok nem végeznek semmilyen feldolgozást, csupán az ágensek adatait fogadják és továbbítják a dynaTrace Server felé ahol is begyűjtött információk tényleges feldolgozása történik. A dynaTrace Analysis Server feladata a begyűjtött heap dumpok feldolgozása, a Perfromance Warehouse pedig a historikus adatokat tárolásáért felel.

A rögzített adatok monitorozásához és analizálásához a dynaTrace Client-el csatlakoznunk kell a dynaTrace Server-hez.




DynaTrace Business Transaction, mely megvalósítja a szokásos Performancia Monitoring funkciókat, és lehetőséget kínál a megfigyelt alkalmazásban az adatbányászatra.

A Business Transaction egy adat lekérdezés, amivel lekérhetjük a számunkra érdekes adatok halmazát.

A lekérdezés úgynevezett measure-ök, amelyek sablonok alapján konfigurálható értékek mentén dolgozik három beállítási típussal:

szűrés (beállított értékeket kiszűr),
visszaadott érték (megadható, milyen értékeket akarunk megkapni),
illetve splitting (amely az SQL groupby funkciójához hasonlít).








JMX és PMI alapú measure-ök létrehozása

A DynaTrace arra is ad lehetőséget, hogy a standard JMX-es (pl.:JBoss,Tomcat) vagy a WebSphere által használt PMI-s measure-ökre is feliratkozzunk, így többek között kinyerhetjük az AJP-s CurrentThreadBusy értékét.


PurePath-ok csoportosítása a JSESSIONID alapján

A DynaTrace-nek a business transaction koncepciója lehetőséget ad arra, hogy a számunkra fontos PurePath-okra szűrési feltételeket és csoportosításokat fogalmazzunk meg, majd az így kialakított BT-at saját chart-okon jelenítsük meg. Egy ilyen üzleti tranzakció volt a PurePath-ok jsessionid alapján történő csoportosítása, amit elemző képernyőkép szerint adhatunk meg a DynaTrace felületén.



A business transaction eredményét táblázatos formában is megtekinthetjük, ahonnan tovább szűrhetünk pl. a PurePathok irányába, így könnyen vissza tudtuk követni, hogy a felhasználók milyen műveleteket hajtottak végre egy-egy munkamenet során.



PurePaths

A PurePath-ok minden egyes kérésnek a teljes végrehajtási útvonalát tartalmazzák, (beleértve az RMI, WebService, JMS, EJB hívásokat) kontextus információkkal kiegészítve (naplók, kivételek, metódus argumentumok). Az alábbi példánál a kijelölt PurePath hívási láncán és a jobb oldali HotSpots panelon is könnyen beazonosítható, hogy a teljes végrehajtási időért mi a felelős.


WebRequests

A WebRequests nézetnél megtekinthető, hogy milyen egyedi webes kérések (URI+Query String) érkeztek a kiválasztott időintervallumban. Ahogy a cikk elején említettem innen tovább fúrhatunk bármilyen irányba.




MethodHotspots

A method hotspots nézetből megtudhatjuk, hogy a kijelölt időszakban mely metódusok futása tartott a legtovább. Ez a nézet kiválóan alkalmas arra, hogy beazonosítsuk azokat a metódusokat amelyeken érdemes lesz optimalizálni. Ha további infóra lenne szükségünk, lefúrhatunk azokhoz a PurePath-okhoz is ahol a kiválasztott metódus meghívásra került.


Methods

A metódus nézetnél többek között kideríthetjük, hogy melyik metódus hívódott meg a legtöbbször, mennyi volt a metódusok átlagos végrehajtási ideje vagy hogy összesen mennyi időt vett igénybe a végrehajtásuk.


Logging, Exceptions

Az előbbiekhez hasonlóan a PurePath-okból kiindulva vagy az időablakra való szűkítéssel megnézhetjük a napló üzeneteket és a keletkezett kivételeket is. Feliratkozhatunk egy-egy számunkra érdekes kivételre, majd lefúrhatunk azokhoz a PurePath-okhoz ahol ez előfordult. Érdemes megemlíteni, hogy az alkalmazás belső működéséhez tartozó kivételek is kijelzésre kerülnek, de ezeket mint Business Exception-öket el tudjuk rejteni.


Transaction Flow

A Transaction Flow nézetből megtudhatjuk, hogy a PurePath-ok honnan indultak ki, milyen alrendszereken haladtak keresztül és hogy hol mennyi időt töltöttek el, azaz beazonosíthatjuk azokat a rendszereket amik a belassulásokért felelősek.



Nagyvállalati környezetben legtöbbször nincs a teljes rendszerre kiterjedő architekturális leírás, hiányosan vagy egyáltalán nincsenek ledokumentálva az alkalmazások közötti kapcsolatok és függőségek. Valószínűleg költséges lenne, de gondoljunk bele ha az összes rendszerre feltelepítenénk a dynaTrace ágenseit, a Transaction Flow segítségével automatikusan feltérképezhetnénk a rendszer teljes architektúráját.





Link:
https://www.dynatrace.com/support
https://www.dynatrace.provice.eu/post/dynatrace-named-a-leader-in-2020-gartner-magic-quadrant-for-apm

Megjegyzések