© Excellent backgrounds/Shutterstock.com
Überwachung von Spring-Boot-Anwendungen mit CRaSH

Wer nichts weiß, muss alles glauben


Mithilfe der Common Reusable SHell (CRaSH) lassen sich Anwendungen einfach überwachen und zur Laufzeit anpassen. Durch das Verbinden mit einer Applikation mittels SSH oder Telnet wird es möglich, Werte der Anwendungen abzufragen und von außen zu verändern. Spring Boot bietet Unterstützung für die Java-Shell anhand eines eigenen Starters und vielfältigen Konfigurationseinstellungen. Das macht Entwicklern und Administratoren das Leben einfacher.

Die zunehmende Nachfrage nach schnelleren Entwicklungszyklen, verbunden mit dem Wunsch nach mehr Funktionalität, lässt dem Thema Monitoring und Management von Anwendungen oft keinen Platz. Möchte man als Entwickler eine leichtgewichtige Möglichkeit zur Verfügung stellen, bietet sich Common Reusable SHell (CRaSH) [1] an. CRaSH ist ein Programm, das eine Shell für die Interaktion mit Java-Prozessen zur Verfügung stellt. Es verbindet sich mit einer laufenden JVM und kann diese inspizieren. Die Shell bietet im Wesentlichen Remote Monitoring und Management einer Anwendung, ähnlich wie JMX (Java Management Extension).

Seit Java 6 ist es möglich, mittels Attach API [2] programmatisch benutzerdefinierte Monitoringanwendungen zu entwickeln, die sich direkt auf eine laufende JVM hängen. CRaSH treibt dieses Konzept noch weiter. Es nutzt das Attach API und stellt eine Shell mit eigenen Befehlen und Autovervollständigung zur Verfügung. Ist man mittels der Shell mit einer JVM verbunden, kann man dort Groovy- und Java-Skripte ausführen. Das sorgt für einen interaktiven Zugriff auf die Interna einer JVM und ermöglicht somit eine detailliertere Überwachung. Es gibt mehrere Möglichkeiten, CRaSH zu betreiben: als eigenständige Anwendung, die ihre eigene JVM kontrolliert, oder als eingebetteter Dienst, z. B. in einer bestehenden Web- oder Spring-Anwendung. CRaSH unterstützt dabei bereits:

  • Zugang über SSH/Telnet

  • Stand-alone oder Embedded Mode

  • Monitoring-Dashboard

  • Abfragen von JVM-Eigenschaften

  • Abrufen von Speicherstatistik

  • Verwaltung von JVM-Threads

  • Interaktion mit der JMX Registry

  • SQL-Zugriff auf JDBC-Ressourcen

  • Zugriff auf das Logging der Anwendung

  • Laden externer Skripte

Mit diesen Features ergeben sich viele mögliche Anwendungsfälle für Systemadministratoren und Entwickler. Ihnen wird eine Kommandozeilenschnittstelle zur ihrer Anwendung zur Verfügung gestellt. Das ermöglicht das Überwachen und Feinabstimmen einer Anwendung. Laufende Threads, ihre Speicher und viele andere Informationen, die aus der JVM ausgelesen werden können, w...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang