Tipps & Tricks - Intrexx Server Monitoring

In diesem Beitrag möchten wir Ihnen die sogenannte JMX-Konsole etwas näher bringen. Mit den Java Management Extensions (JMX) stellt sie eine Technologie zur Verfügung, die es erlaubt, in Java programmierte Anwendungen zu überwachen und zu verwalten. Die verschiedenen Aufgaben übernehmen dabei sogenannte MBeans. Damit bieten sich Administratoren noch umfangreichere Möglichkeiten zur Überwachung und Wartung des Intrexx-Servers.

Aus Sicherheitsgründen ist JMX für Ihr Intrexx-Portal standardmäßig deaktiviert.



In den Portaleigenschaften kann JMX aktiviert werden. Tragen Sie dort einen freien Port zur Kommunikation zwischen der JConsole und dem Intrexx-Server ein. Die Hilfe zu weiteren Einstellungen im Dialog erreichen Sie mit F1. Führen Sie nach den Änderungen einen Portal-Neustart durch.



Zum Start der JMX-Konsole führen Sie die "jconsole.bat"-Datei (Linux: "jconsole.sh") im Installationsverzeichnis bin/windows (Linux: opt/xtreme/bin/linux) aus. Am Anmeldebildschirm melden Sie sich mit "servername:port" an. Benutzername und Kennwort werden bei dieser Verbindung nicht benötigt. Diese Art der Anmeldung sollte nicht dauerhaft eingesetzt werden, da es, wenn Serveradresse und Port bekannt sind, jederzeit möglich ist, eine JMX-Verbindung aufzubauen. Zu Entwicklungs- und Diagnosezwecken ist dies jedoch vertretbar. Wenn Sie die JMX-Konsole also nicht benötigen, dann deaktivieren Sie die entsprechende Einstellung in den Portaleigenschaften und starten Sie den Portaldienst neu.

Im Anschluss an den Aufruf der JMX-Konsole wird das Überwachungsfenster mit diversen Reitern geöffnet. Auf dem ersten Reiter sehen Sie eine Vielzahl an Diagrammen, die verschiedene Werte wie CPU-Auslastung und Anzahl an Live-Threads anzeigen. Die Diagramme werden sekündlich aktualisiert. Damit ist eine genaue Verfolgung der Ressourcenauslastung möglich.

Auf den weiteren Reitern Memory, Threads, Classes und VM-Summary lassen sich zu den entsprechenden Themen weitere Informationen anzeigen und analysieren. Auf dem letzten Reiter "MBeans" finden Sie eine Übersicht über die implementierten MBeans, die standardmäßig in JMX integriert sind. Zusätzlich dazu befinden sich im Ordner "de.uplanet.lucy.server.management" spezifische MBeans, die von United Planet implementiert wurden und spezielle Portalanalysen und –methoden für Administrationsaufgaben zur Verfügung stellen.

Overview / Memory






In dieser Übersicht können Sie das Speicherverhalten des Servers, ähnlich wie im Systemmonitor, beobachten. In der JMX-Konsole lassen sich diese Werte jedoch exakter ablesen. Der Speicherverbrauch wird in der Regel als Zickzackkurve dargestellt. Die Java-Maschine führt automatische Garbage-Collections durch, um immer wieder ausreichend Speicher frei zu halten. Sie können hier bei Bedarf auch manuelle Garbage-Collections (GC) durchführen, um Speicher freizugeben. Die Infos beinhalten z.B. den aktuellen Speicherverbrauch des Heap, den maximal zugeordneten Speicher für den Heap, maximale Speicherbelegung durch den Heap und Informationen zum Garbage-Collector.

Threads




Bei den Threads interessieren in erster Linie die WebConnectorWorkerThreads. Erkennungsmerkmal ist die Portnummer des Web-Connectors im Threadnamen (z.B. http-nio-0.0.0.0-8102-exec-123, 8102 ist dabei die in den Portaleinstellungen vergebene Portnummer des Web-Connectors). Die Informationen hier können hilfreich bei der Problemsuche sein, falls das Portal im Browser nicht mehr erreichbar ist, der Webserver (IIS / Tomcat) aber korrekt läuft. Idealerweise ist der Status eines WebConnectorThreads auf "waiting" – das heißt er ist bereit, um Anfragen aus dem Browser zu beantworten. In der Grafik wird die aktuelle Anzahl an Live-Threads sowie die höchste Anzahl an Live-Threads seit dem letzten Portaldienststart angezeigt.

Classes




Hier wird die Anzahl der aktuell in den Speicher geladenen Klassen angezeigt, sowie die Anzahl der insgesamt geladenen bzw. entladenen Klassen.

VM Summary




Hier finden Sie Informationen zu Ihrem Portal-Server wie z.B. Uptime, geladene Java-Klassen, Speicherverbrauch, Live-Threads etc.

MBeans




Alle MBeans hier zu erwähnen würde den Rahmen des Beitrags sprengen. Im Folgenden werden deshalb einige spezifische Logging-MBeans von United Planet vorgestellt und erläutert.

de.uplanet.lucy.server.management - Logging


Attribut Datentyp Beschreibung
JdbcTrace Boolean Wenn true, werden alle an die Datenquelle gestellten Anfragen in die portal.log geschrieben. Damit kann die Dauer der Datenbankabfragen in der Logdatei geprüft werden, z.B. wenn bei einem Portal ein Performanceproblem besteht.
JdbcDumpOnClose Boolean Wenn true, werden Informationen (Herkunft, Erzeuger etc.) über nicht geschlossene DB-Verbindungen in die portal.log geschrieben.
ThrowExceptionOn-DeprecatedCall Boolean Wenn true, wird eine Fehlermeldung beim Aufruf einer deprecated-Methode in die portal.log geschrieben.
BpeeDumpContext Boolean Wenn true, werden die Bpee-Kontextvariablen und deren Werte in die portal.log geschrieben.

Operation Beschreibung
logSeparator / logString Schreibt Separator oder Text in die portal.log und verbesser damit bei der Fehlersuche die Übersichtlichkeit des Logs.
logThreadStacks Schreibt das Stacktrace der WebConnectorWorkerThreads in die portal.log. Hilfreich, um z.B. die Ursache für einen Portalstillstand im Browser zu ermitteln.

de.uplanet.lucy.server.management - WebConnector


Attribut Datentyp Beschreibung
Timeout Long Timeout des Web-Connectors (in ms, default 10 min).
Running Boolean Ist der Webconnector aktiv?
WorkerThreadCount Int Anzahl der zur Verfügung stehenden Workerthreads.
AliveWorkerThreadCount Int Wieviele Workerthreads sind im Moment nutzbar?
WatchdogInterval Long Überwacht Threads auf Aktivität. Wenn Timeout erreicht wird, wird der Workerthread recycelt.
RequestCount Int Anzahl der offenen Requests.
BusyCount Int Anzahl der momentan bearbeiteten Aufgaben.
LogRequestProcessingTime Boolean Wenn true, wird die Dauer der Ausführung eines Request vom Browser an den WebConnectorThread in Millisekunden in die portal.log geschrieben. Hilfreich bei der Untersuchung von Performanceproblemen.

Operation Beschreibung
startConnector Starten des Web-Connectors
stopConnector Stoppen des Web-Connectors

Weitere Informationen

JMX-Konsole