Es läuft und läuft und läuft...

Stagemonitor: Performance Monitoring für Java-Webanwendungen

Dominik Mohilo, Sven Ruppert

© Shutterstock / Sombat Muycheen

Es war eine Weile ziemlich ruhig um stagemonitor, das Application Performance Monitoring (APM) Tool für Java-Servlet-Anwendungen. Gerade wurde mit Version 0.89 allerdings wieder einmal ein Update bereitgestellt, das neben einigen Dependecy-Upgrades auch neue Funktionen bereitstellt.

stagemonitor ist eine Open-Source-Lösung für die Leistungsüberwachung (auch APM – Application Performance Monitoring genannt) von Java-Anwendungen, die einem Entwickler jede Menge Werkzeuge zur Verfügung stellt. Einsetzen kann man stagemonitor nicht nur bei der Entwicklung selbst, sondern auch um die Leistung von Java-Webanwendungen zu überwachen. Auch mit Clustern oder Microservices-Architekturen kommt das Toolset zurecht, dank des Open Tracing APIs für verteilte Systeme. Hierbei hat man Zugriff auf aktuelle Livedaten, aber rückwirkend kann auch auf historische Datenpools zugegriffen werden.

stagemonitor: Die Features

Oft kommt es vor, dass Anwendungen erst dann gewisse Probleme bekommen, wenn sie in der Produktion eingesetzt und damit dem Kunden bereits ausgeliefert wurden. stagemonitor addressiert dieses Problem, indem es Funktionen zur Verfügung stellt, die bereits während der Entwicklungszeit auf Probleme im Bereich Performance hinweisen. Um auf die Daten zugreifen zu können, wird stagemonitor in die Anwendung via Agent eingebettet und sendet von dort aus Metriken und weitere Daten an eine zentrale (Zeitreihen-)Datenbank: In Verbindung mit Elasticsearch, InfluxDB, Prometheus oder Graphite können die Daten dann analysiert und via Kibana- oder Grafana-Daashboard grafisch aufgearbeitet und übersichtlich dargestellt werden.

Die Architektur von stagemonitor / Quelle: Wiki von stagemonitor

stagemonitor ist besonders für den Einsatz innerhalb und rund um Java-Webanwendungen optimiert. Das bedeutet allerdings nicht, dass das Toolset nicht auch für andere Anwendungen geeignet ist. Eine Anleitung für Integration in Anwendungen, die nicht auf Servlet basieren, gibt es auf GitHub.

„Neu“ im traditionellen Sinn ist stagemonitor nicht mehr, auch wenn die große 1.0-Version noch nicht veröffentlicht wurde. Doch in letzter Zeit wurde wieder aktiver an der Lösung gearbeitet, nachdem es einige Zeit sehr ruhig um das Projekt wurde. Das aktuelle Release, stagemonitor 0.89, bringt ein paar wichtige Verbesserungen für Nutzer. Wer mehr über stagemonitor im Allgemeinen lesen möchte, dem sei das Wiki des Projektes ans Herz gelegt.

Was bringt stagemonitor 0.89?

Was gibt es also an Neuigkeiten? Wenn man sich auf Github den Eintrag zu dem Release ansieht, so erkennt man, dass viel Arbeit in die Aktualisierung der Komponeneten gesteckt worden ist: So wurden jede Menge Abhängigkeiten auf Stand gebracht. Aber auch unter der Haube scheint sich einiges zu tun. stagemonitor wurde beispielsweise fit gemachtm, um ohne sun.misc.Unsafe auszukommen. Dies führte dazu, dass man jetzt endlich auch neuere JDKs im Einklang mit stagemonitor nutzen kann.

Byte Buddy wird mit dem aktuellen Update in Version 1.9.15 unterstützt, außerdem können Nutzer auf das Open Tracing API in Version 0.33 und auf jaeger in Version 0.35.5 zurückgreifen. Weasel wurde gebenfalls aktualisiert und der eum-Server setzt jetzt auf Spring Boot 2.1.7, auch der Support von Elasticsearch 7 wurde implementiert. Diese Verbesserungen kommen natürlich mit einem Preis: Java 8 ist die Mindestvoraussetzung für den Einsatz des Toolings.

Ausblick

Interessant ist die neue Aktivität in dem Projekt definitiv, denn das Thema APM ist gerade in Zeiten von Microservices, der Cloud und Serverless hochaktuell. Wir werden das Projekt jedenfalls im Auge behalten. Weitere Informationen zu stagemonitor gibt es auf der Projekthomepage und natürlich auf GitHub.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Sven Ruppert
Sven Ruppert
Sven Ruppert arbeitet seit 1996 mit Java und ist Developer Advocate bei Vaadin. In seiner Freizeit spricht er auf internationalen und nationalen Konferenzen, schreibt für IT-Magazine und für Tech-Portale. Twitter: @SvenRuppert
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: