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
Megjegyzés küldése