Qualitätssicherung

Dynatrace AppMon – ein ultimatives Monitoring-Tool?

Wer moderne Anwendungen entwickelt und betreibt, möchte natürlich wissen, wie sich diese in Bezug auf Ressourcenverbrauch, Performance oder Verfügbarkeit verhalten.

Doch auch für die Überwachung von Testläufen ist ein Monitoring gut geeignet.

Mit Dynatrace Application Monitoring (AppMon) lassen sich diese verschiedenen Disziplinen miteinander verbinden. Das Tool ist Marktführer im Bereich des Application Performance Monitoring und fügt sich damit als End-to-End-Monitoring-Werkzeug ideal in unser ganzheitliches DevSecOps-Portfolio ein.  

Was ist und was macht Dynatrace überhaupt?
Dynatrace AppMon bietet mit nur einem Monitoring-Tool einzigartige operative Einblicke, von der Full-Stack-Überwachung über das Front-End bis zum Back-End ihrer Applikation - von der Infrastruktur bis zur Cloud. Leistungs- oder Verfügbarkeitsprobleme können proaktiv und frühzeitig mittels künstlicher Intelligenz behoben werden, bevor sie sich auf ihre Kunden auswirken. Mittels einer agentenbasierten Architektur und der einzigartigen PurePath- und PureStack-Technologie werden Ausfälle, Anomalien, Real-User-Monitoring-Daten, Host- und Systemdateien in Echtzeit und End-to-End überwacht und Probleme auf einzelne Codezeilen beschränkt. Dynatrace AppMon unterstützt sämtliche Technologien und Lösungen für Cloud- und Applikationsmonitoring.

Was benötigt man für Dynatrace?
Für die Nutzung von Dynatrace benötigt man eine gültige Lizenz, Installationsdateien und ein paar Serverinstanzen wie z.B. einen AppMon-Server, einen Host, einen Collector und ein Performance Warehouse (Datenbankserver). Für Testzwecke gibt es eine Free Trial Lizenz und eine Personal Lizenz. Danach werden die Software-Agenten in die verschiedenen Layer und Instanzen ihrer IT-Infrastruktur eingebunden, was ganz einfach über den Dynatrace Client zu handhaben ist. Nach erfolgreicher Einbindung der Agenten und Rechtevergabe kann es direkt mit dem Monitoring losgehen!

Nutzen und Einsatz von Dynatrace im Testumfeld?
Das Testen einer Anwendung wird leider häufig nicht während, sondern meist erst nach dem Softwareentwicklungszyklus durchgeführt. Dies ist darauf zurückzuführen, dass es sich um eine zeitaufwändige Aufgabe handelt, Tests lange andauern und die Ergebnisse häufig nur manuell überprüft werden können. Je später jedoch in der Entwicklung ein Performance- oder Leistungsmangel festgestellt wird, desto höher sind die Kosten für dessen Behebung. Dynatrace AppMon löst dieses Problem durch eine proaktive Überwachung von Tests, die in einer Continuous Integration / Continuous Delivery (CI/CD)-Pipeline ausgeführt werden.

Bei jedem Testlauf werden verschiedene Metriken erfasst, z. B. die Transaktionszeiten, die Anzahl der ausgeführten Datenbank-Statements und die verwendete CPU-Zeit. Dynatrace AppMon berechnet durch seine intelligente Baseline-Technologie einen erwarteten Mindest- und Höchstwert einer Metrik. Zeiten und Messungen, welche diesen Schwellschwert über- oder unterschreiten, weisen auf eine Anomalie oder ein Problem hin. Automatisch erhalten ausgewiesene Entwicklerteams diesen Incident beziehungsweise eine Alert-Benachrichtigung über das vorliegende Problem.

Hinsichtlich Last- und Performance-Monitoring unterstützt Dynatrace AppMon mit verschiedenen Dashboards und Integrationsmöglichkeiten. Das bereits vorgefertigte „Load Test Overview“-Dashboard ist besonders gut für das Monitoring von Last- und Performancetests geeignet.

Es werden verschiedene Metriken visualisiert: Antwortzeiten der Requests, generierte Last vs. die durchschnittliche Antwortzeit. Mittels PurePath- und PureStack-Technologie kann man zur Laufzeit aber auch zu späteren Zeitpunkten (z.B.: „Stored Session“) Ausfälle, Probleme, Leistungsanomalien und Performanzdaten bis auf Datenbank- und Codeebene analysieren, teilen und versenden.

Mittels eines speziell in die Testskripte eingefügten Headers kann man „getaggte“ beziehungsweise markierte Web-Requests über andere Dashlets wie z.B. das unten dargestellte „Tagged Web Request“-Dashlet aus einem Lasttest überwachen und evaluieren.

Mit Hilfe eines „Test Overview“ und „Test Results“-Dashlets können unter anderem Testergebnisse von anderen Tools und Frameworks wie Selenium, jUnit, SoapUI etc. veranschaulicht werden.

Für wen und warum ist Dynatrace eine Option?
Dynatrace Application Monitoring (AppMon) eignet sich somit für Entwickler, Tester, Anwendungsbetreuer und Administratoren gleichermaßen. Im Rahmen von CI/CD-Pipelines lassen sich für Entwickler Monitoring- und Feedbackschleifen integrieren, welche speziell der Performance von Applikationen in Bezug auf Sizing und Skalierung - aber auch generell der Performance von Ops-Teams - zu Gute kommen.

Eine ganzheitliche Sicht auf die Performance der Infrastruktur-/Systemumgebung, der Anwendungsleistung und über alle Architektur- und Technologieebenen unterstützt den gemeinsamen Blick auf die Anwendung. So wird der DevSecOps-Gedanke nachhaltig gelebt.  

Autor

Matthias LeiweltIT-Consultant
Matthias Leiwelt