Indikatoren in JConsole anzeigen

1                     Themenübersicht

Mithilfe von Indikatoren können Sie technische Kennzahlen (z.B. die Anzahl der Dialog-Sessions bzw. die Anzahl der aktiven Datenbank-Verbindungen) oder betriebswirtschaftliche Kennzahlen von Semiramis abfragen. In diesem Dokument erhalten Sie Informationen, wie Sie Indikatoren mit JConsole betrachten können.

2                     Zielgruppe

  • Benutzer
  • Technische Berater

3                     Begriffsbestimmung

Indikator

Ein Indikator repräsentiert eine technischer oder eine betriebswirtschaftliche Kennzahl, deren Wert überwacht werden soll. Ein Indikator wird durch ein Namensraum und einen Name eindeutig identifiziert. Innerhalb von einem Namensraum können sich mehrere Indikatoren  befinden, die sich durch den Namen unterscheiden. Die Indikatoren unterscheiden sich nach Art der Operationen und Darstellung der Informationen zur Überwachung. Das Semiramis System-Engine stellt bereits zur Verfügung eine Reihe der Indikatoren – die Standard-Indikatoren. Weitere dynamische Indikatoren können vom Benutzer selbst angelegt werden. In diesem Fall wurden die anhang der Aktivitätsdefinitionen berechnet und mithilfe von Semiramis Workflow zugängig gemacht. Externe Überwachungswerkzeuge können auf Indikatoren als MBean zugreifen.

Java Management Extensions (JMX)

Die Spezifikation zur Verwaltung und Überwachung von Java-Anwendungen. Diese Spezifikation beschreibt die Architektur aus mehreren Schichten, Design Patterns, eine API, Verwaltungsdienste für Java-Anwendungen und Netzwerke sowie Überwachung-Dienste für Java.

MBean

Ein Java-Objekt das eine zu überwachenden Komponente repräsentiert und der JMX Spezifikation genügt. Ein MBean kann ein Hardware-Gerät bzw. eine Anwendung  oder eine weitere Ressource repräsentieren. Für jeden Indikator erzeugt der Semiramis-Application-Server an MBean.

4                     Voraussetzungen

JDK ab Version 1.6.0_10 muss installiert werden.

Die Lizenz des Semiramis-Systems enthält den freigegebenen Lizenzschlüssel „com.cisag.sys.services.indicator.Indicator“

5                     Anwendungsbeschreibung

Das grafische Tool JConsole ist seit der Version Java 5 Bestandteil des JDK und dient  zur Überwachung der Java Anwendungen mithilfe von JMX- Instrumentierung der Java Virtual Machine. Diese Anwendung besteht aus mehreren Karteireitern, auf denen die allgemeinen Informationen über Virtual Machine, die Informationen über den Speicherverbrauch, Threads, die Java-Klassen und MBeans angezeigt werden. Nähere Informationen zur Verwendung  JConsole finden Sie im Dokument „Using jconsole“ unter der Adresse:

http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

5.1               Semiramis Application-Server einrichten

Sie können die Überwachung einer Java VM mit einem Semiramis Application auf die folgenden Arten einrichten:

  • Lokale Überwachung – Der Appliacation-Server läuft auf demselben Rechner, wo auch das externe Tool (z.B. die JConsole) gestartet wurde.
  • Entfernte Überwachung – Der Appliacation-Server und das externe Tool laufen nicht auf dem gleichen Rechner.

Damit die lokale Überwachung erlaubt wird, muss JMX Agent durch die folgende Java-Property erlaubt sein:

com.sun.management.jmxremote

Die Property können bei den JVM-Parametern des Application-Servers in der folgenden Form angeben:

-Dcom.sun.management.jmxremote=true

Bitte beachten Sie, dass standardmäßig diese Property für einen Application-Server, der keine benutzerdefinierte JVM-Paramater hat, schon auf „true“ gesetzt ist.

Damit Sie einen entfernten Application-Server überwachen könnten, muss mindestens die folgende Java-Property gesetzt werden:

com.sun.management.jmxremote.port=<portNummer>

Ein Beispiel dafür wäre:

com.sun.management.jmxremote.port=51001

Es können die weiteren Java-Properties gesetzt werden, die die Authentifizierung bei der entfernten  Überwachung beschreiben. Nähere Details finden Sie im Dokument „Monitoring and Management Using JMX“ unter der Adresse:

http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html#remote

Ein Beispiel die JVM-Parameter eines Application-Servers:

-Xms700m -Xmx700m -XX:MaxNewSize=128m -XX:NewSize=128m

-XX:MaxPermSize=320m -XX:ThreadStackSize=512

-XX:+HeapDumpOnOutOfMemoryError

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.port=50031

Hinweis: Der angebende Port darf noch nicht belegt sein.

Wählen Sie die Speichereinstellungen der JVM wie üblich.

Die entfernte Überwachung kann auch für JConsole und Application-Server eingerichtet werden, die auf demselben Rechner laufen.

Falls Sie innerhalb einer Entwicklungsumgebung (z.B Eclipse) den Application-Server starten, müssen Sie die benötigten Parameter für die Überwachung direkt in der Entwicklungsumgebung festlegen. (Bei Eclipse können Sie die JVM-Parameter beispielsweise unter „Debug Configurations…“ auf dem Reiter„(x)=Arguments“ im Feld  „VM Arguments“ erfassen.)

5.2               Aufruf der JConsole

Das Tool JConsole liegt im Ordner {JDK_HOME}/bin und heißt unter Windows jconsole.exe. {JDK_HOME} steht für das Verzeichnis, in dem das JDK installiert wurde.

5.3               Start der Überwachung

Nach dem die JConsole gestartet wurde, erscheint den Dialog zum Aufbau der Verbindung zum JVM Agent. Wenn den zu überwachenden Semiramis-Application-Server für lokale Überwachung eingerichtet wurde, wählen Sie process application ID (PID) des jeweiligen Semriamis-Application-Servers.

Wenn den zu überwachenden Semiramis-Application-Server für die entfernte Überwachung eingerichtet wurde, geben Sie der Hostname, den Port zur Verbindung mit JMX Agent und ggf. die weiteren Parametern zur Authentifizierung an, die Sie bei der Einrichtung des zu überwachenden Semriamis-Application-Server festgelegt haben.

5.4                Karteireiter „MBean“

Die von Semiramis bereitgestellten Indikatoren sind als MBean verfügbar und werden auf dem Karteireiter „MBean“ der JConsole angezeigt. Die einzelnen Ebenen werden automatisch von JConsole hinzugefügt. Nähere Informationen über die Ebenen und die Standardindikatoren finden Sie im Dokument „Einführung: Indikatoren“.

5.5               Beispiel der Verwendung von JConsole

In diesem Beispiel wir davon ausgegangen, dass in einem Semiramis-System namens „ADV450“ einen Semiramis-Application-Server angelegt wurde, auf dem die Indikatoren mithilfe von JConsole überwacht werden sollen. Der Semiramis-Applicaton-Server ist mit den OLTP-Datenbanken „ADV45001“ und „ADV45002“ verbunden. Die Repository-Datenbank ist „ADV450RP“. Die Basis-URL lautet „https://r144.cisag.com“. Dieser Semiramis-Application-Server hat folgende JVM-Parameter:

-Xms700m -Xmx700m -XX:MaxNewSize=128m -XX:NewSize=128m

-XX:MaxPermSize=320m -XX:ThreadStackSize=512

-XX:+HeapDumpOnOutOfMemoryError

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.port=50031

In unserem Fall ist der Semirmis-Application-Server für die entfernte Überwachung ohne Authentifizierung eingerichtet. Für die Verbindung zum JVM Agent wird der Port 50031 verwendet.

Nachdem Sie die JConsole gestartet haben, erscheint einen Verbindung-Dialog, in dem Sie die entfernte Überwachung auswählen (Remote Process) und den Hostname mit dem Port wie folgt angeben sollten:

r144.cisag.com:50031

Die Verbindung wird zum JMX Agent aufgebaut und Reihe der Informationen auf die Karteireiter aufgeteilt sind, wird angezeigt.

Wechseln Sie zu dem Karteireiter „MBean“, dort wird folgende Struktur zu sehen:

 

Neben der MBeans, die Sun zur Verfügung stehet, sehen Sie die folgenden Namenräume:

  • cisag.pgm.ADV45001
  • cisag.pgm.ADV45002
  • cisag.pgm.ADV450RP
  • cisag.pgm.server
  • cisag.pgm.system
  • dynamic.ADV45001
  • dynamic.ADV45002
  • dynamic.ADV450RP

Das nächste Bild zeigt Ihnen die Namensräume mit den jeweils verfügbaren Indikatoren:

Czy ten artykuł był pomocny?