Jconsole: Fernverwaltung, Benachrichtigungen und Logging

In der Praxis werden Anwendungen normalerweise über das Netzwerk überwacht. Als Fortsetzung des Tutorials über die Jconsole wird im Folgenden beschrieben, wie man seine verwalteten Java-Anwendungen netzwerkfähig macht.

Im letzten Artikel ging es darum, wie man mithilfe der Jconsole eine lokale Anwendung verwalten oder einfach einen Blick in die JVM werfen kann, um zu sehen, wie diese funktioniert. Dies ist zwar für die Entwicklungsphase ganz nützlich, aber in der Praxis ist die Wahrscheinlichkeit groß, dass sich die zu verwaltende Anwendung ganz am anderen Ende des Netzwerks befindet. Die Java Management Extensions (JMX) brachten ursprünglich von Haus aus keine Netzwerkunterstützung mit, wurden aber in der späteren Version JSR 160 um diese Funktionen ergänzt. Dabei wurde gleich eine solche Unmenge an Netzwerkunterstützung zu JMX hinzugefügt, dass man beim Blick in die Spezifikationen schon etwas zurückschrecken kann. Hier soll es nun um die Remote-Verwendung der Jconsole gehen, wobei Fragen der Sicherheit zunächst einmal zurückgestellt seien.

Das wichtigste Element für eine schnelle Remote-Verbindung besteht darin, der zu überwachenden Anwendung das Akzeptieren von Remote-Verbindungen zu ermöglichen. Dies kann durch Einstellen einiger System-Eigenschaften erreicht werden, genauso wie man JMX aktiviert.

Um die Beispielanwendung „WatchMe“ mit Fernzugriff zu starten, muss man sie wie folgt aufrufen:


Dies startet JMX und öffnet Port 9696. Man kann jeden freien Port benutzen, vorausgesetzt er wird nicht von einer lokalen Firewall blockiert. Die nächsten beiden Parameter deaktivieren Passwort- und SSL-Authentifizierung. Dies darf man allerdings niemals in einer Produktionsumgebung tun, es würde die Tür sperrangelweit öffnen, so dass jedermann Zugriff auf die Anwendung hätte. In einer Entwicklungsumgebung ist dies allerdings recht nützlich. Zur Verbindung mit der Anwendung startet man die Jconsole wie bereits besprochen, öffnet aber unter Connections statt der Local– die Remote-Registerkarte.

Screenshot

Hier gibt man den Hostnamen sowie den Port der Zielanwendung ein, lässt Benutzernamen und Passwort frei und klickt auf Connect – das ist alles. Nun kann man die Anwendung mit der Jconsole überwachen und verwalten.

JMX bietet zwei Möglichkeiten zu kontrollieren, wer sich bei der Schnittstelle für das Anwendungsmanagement anmeldet: Authentifizierung per Passwort oder SSL. Passwortauthentifizierung ist am einfachsten einzurichten. Im JRE-Stammverzeichnis findet man das Verzeichnis lib, darunter ein Verzeichnis management, das wiederum die Steuerdateien für JMX enthält. Standardmäßig gibt es dort keine Passwortdatei, aber eine entsprechende Vorlage: jmxremote.password.template. Wenn man diese Datei nach management.jmxremote.password kopiert, wird sie von JRE als Default-Passwortdatei verwendet.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Jconsole: Fernverwaltung, Benachrichtigungen und Logging

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *