© Excellent backgrounds/Shutterstock.com
Java Magazin
Ü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.

Martin Hock


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/TelnetStand-alone oder Embedded ModeMonitoring-DashboardAbfragen von JVM-EigenschaftenAbrufen von SpeicherstatistikVerwaltung von JVM-ThreadsInteraktion mit der JMX RegistrySQL-Zugriff auf JDBC-RessourcenZugriff auf das Logging der AnwendungLaden 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, werden angezeigt. Ein Monitoring-Dashboard in CRaSH stellt diese Informationen auch dar (Abb. 1). Die Möglichkeit, mit dem Befehl jul das Logging einer Applikation dynamisch zu ändern, erleichtert das Debugging und Protokollieren einer laufenden JVM-Instanz. Zudem lässt sich CRaSH um eigene Befehle erweitern und bietet damit Zugriff auf anwendungsspezifische Informationen. Die Befehle werden in Groovy oder Java geschrieben und lassen sich zur Laufzeit dynami...

Java Magazin
Ü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.

Martin Hock


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/TelnetStand-alone oder Embedded ModeMonitoring-DashboardAbfragen von JVM-EigenschaftenAbrufen von SpeicherstatistikVerwaltung von JVM-ThreadsInteraktion mit der JMX RegistrySQL-Zugriff auf JDBC-RessourcenZugriff auf das Logging der AnwendungLaden 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, werden angezeigt. Ein Monitoring-Dashboard in CRaSH stellt diese Informationen auch dar (Abb. 1). Die Möglichkeit, mit dem Befehl jul das Logging einer Applikation dynamisch zu ändern, erleichtert das Debugging und Protokollieren einer laufenden JVM-Instanz. Zudem lässt sich CRaSH um eigene Befehle erweitern und bietet damit Zugriff auf anwendungsspezifische Informationen. Die Befehle werden in Groovy oder Java geschrieben und lassen sich zur Laufzeit dynami...

Neugierig geworden?


    
Loading...

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