wsadmin-Scripting mit Java Management Extensions (JMX) verwenden

JMX (Java™ Management Extensions) ist ein Framework, das ein Standardverfahren bereitstellt, mit dem Java-Ressourcen, z. B. Anwendungsserver, für eine Systemverwaltungsinfrastruktur verfügbar gemacht werden. Mit dem JMX-Framework kann ein Provider Funktionen, z. B. das Auflisten der Konfigurationseinstellungen, implementieren und die Einstellungen bearbeiten. Es beinhaltet auch eine Benachrichtigungsebene, die von Verwaltungsanwendungen zum Überwachen von Ereignissen, wie dem Starten eines Anwendungsservers, verwendet werden kann.

JMX-Schlüsselfunktionen

Zu den Schlüsselfunktionen der JMX-Implementierung von WebSphere Application Server gehören folgende:

  • Alle Prozesse, die den JMX-Agenten ausführen.
  • Die gesamte Laufzeitverwaltung, die über JMX-Operationen erfolgt.
  • Connector, die verwendet werden, um einen JMX-Agenten mit einer fernen JMX-fähigen Verwaltungsanwendung zu verbinden. Die folgenden Connector werden unterstützt:
    • SOAP-JMX-Connector
    • JMX Remote Application Programming Interface (JSR 160) Remote Method Invocation over the Internet Inter-ORB Protocol (RMI-IIOP) JMX Connector, (der Connector JSR160RMI)
    • RMI-IIOP-JMX-Connector (Remote Method Invocation over the Internet Inter-ORB Protocol)
    • Inter-Process Communications (IPC)
  • Protokolladapter ermöglichen eine Verwaltungsansicht des JMX-Agenten über ein vorhandenes Protokoll. Verwaltungsanwendungen, die eine Verbindung zu einem Protokolladapter herstellen, sind normalerweise spezifisch für ein bestimmtes Protokoll.
  • Sie können die Konfigurationseinstellungen eines Laufzeitobjekts abfragen und aktualisieren.
  • Möglichkeit, Anwendungskomponenten und -ressourcen zur Laufzeit zu laden, zu initialisieren, zu ändern und zu überwachen.

JMX-Architektur

Die JMX-Architektur unterteilt sich in drei Ebenen:

  • Instrumentierungsebene - Legt fest, wie Ressourcen in spezielle Java-Beans, so genannte MBeans (Managed Beans), eingebunden werden können.
  • Agentenebene - Besteht aus dem MBean-Server und den MBean-Agenten, die eine Verwaltungsinfrastruktur bereitstellen. Folgende Services sind implementiert:
    • Überwachung
    • Ereignisbenachrichtigung
    • Zeitgeber
  • Verwaltungsebene - Definiert, wie externe Verwaltungsanwendungen mit den zugrunde liegenden Ebenen hinsichtlich der Protokolle, APIs usw. interagieren können. Diese Ebene verwendet eine Implementierung der Spezifikation für verteilte Services (JSR-077), die noch nicht zur J2EE-Spezifikation gehört.

Die mehrschichtige Architektur von JMX wird in der folgenden Abbildung zusammengefasst:

Abbildung 1. JMX-Architektur
Veranschaulicht die Architektur von JMX.

Verteilte JMX-Verwaltung

Die folgende Abbildung veranschaulicht, wie die JMX-Architektur sich in die gesamte Topologie der verteilten Verwaltung einer WebSphere Application Server Network Deployment-Umgebung einfügt:

Abbildung 2. Verteilte JMX-Verwaltung
Veranschaulicht die verteilte Verwaltung von JMX in WebSphere Application Server

Die Schlüsselpunkte dieser verteilten Verwaltungsarchitektur umfasst folgende Punkte:

  • Interne MBeans, die sich lokal auf der JVM befinden, registrieren sich am lokalen MBean-Server.
  • Externe MBeans haben einen lokalen Proxy im MBean-Server. Der Proxy wird am lokalen MBean-Server registriert.
    Der MBean-Proxy ermöglicht dem lokalen MBean-Server, die Nachricht an einen externen MBean-Server zu übergeben, der sich auf folgenden Einheiten befindet:
    • einem Node Agent, der einen MBean-Proxy für alle in diesem Knoten befindlichen Server hat. Die MBean-Proxys für andere Knoten werden nicht verwendet.
    • Der Deployment Manager hat MBean-Proxys für alle Node Agents in der Zelle.

JMX-Mbeans

Das Produkt stellt eine Reihe von MBeans zur Verfügung, von denen jede verschiedene Funktionen und Operationen ermöglicht. Beispielsweise kann eine Anwendungsserver-MBean Operationen wie Starten und Stoppen verfügbar machen. Eine Anwendungs-MBean kann Operation wie Installieren und Deinstallieren bereitstellen. Einige JMX-Verwendungsszenarien, die Sie kennen lernen werden, enthalten Folgendes:

  • Externe Programme, die die WebSphere Application Server Network Deployment-Laufzeit und ihre WebSphere-Ressourcen steuern, indem sie über das Programm auf die JMX-API zugreifen.
  • Anwendungen anderer Hersteller, die angepasste JMX-MBeans als Teil des implementierten Codes beinhalten und die Verwaltung von Anwendungskomponenten und -ressourcen über die JMX-API ermöglichen.

Es folgt ein Beispiel für das Abrufen einer bestimmten MBean:

Mit Jacl:

set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]

Mit Jython:

am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')

Jede Laufzeit-MBean von WebSphere Application Server kann Attribute, Operationen und Benachrichtigungen haben. Die vollständige Dokumentation zu jeder MBean, die mit dem Produkt bereitgestellt wird, finden Sie in diesem Information Center unter Information_Center > Referenz > Programmierschnittstellen > MBean-Schnittstellen.

JMX-Vorteile

Die Verwendung von JMX für Verwaltungsfunktionen in WebSphere Application Server bietet die folgenden Vorzüge:

  • Aktiviert die Verwaltung von Java-Anwendungen ohne große Investitionen.
  • Stützt sich auf einen Basisserver für verwaltete Objekte, der als Management Agent agiert.
  • Java-Anwendungen können einen verwalteten Objektserver integrieren und einige seiner Funktionen in Form einer oder mehrerer am Objektserver registrierter MBeans zur Verfügung stellen.
  • Stellt eine skalierbare Verwaltungsarchitektur bereit.
  • Jeder JMX Agent Service ist ein unabhängiges Modul, das in den Management Agent integriert werden kann.
  • Die API ist erweiterbar und bietet die Möglichkeit, neue WebSphere Application Server- und angepasste Anwendungsfunktionen über diese Verwaltungsschnittstelle einfach hinzuzufügen und bereitzustellen.
  • Integriert vorhandene Managementlösungen.
  • Jeder Prozess ist hinsichtlich der Verwaltung seiner Ressourcen autark. Es gibt keinen zentralen Steuerungspunkt. Prinzipiell kann ein JMX-fähiger Verwaltungsclient mit jedem verwalteten Prozess verbunden werden und mit den MBeans dieses Prozesses interagieren.
  • JMX ermöglicht einen den Einzelfall berücksichtigendes, unstrukturiertes und domänenweites Konzept für die Systemverwaltung. Eigenständige Prozesse interagieren über MBean-Proxys, die einem einzelnen Verwaltungsclient ermöglichen, nahtlos in einem Netz verwalteter Prozessen zu navigieren.
  • Definiert nur die Schnittstellen, die für die Verwaltung notwendig sind.
  • Bietet eine Standard-API, mit der Anwendungs- und Verwaltungsressourcen Verwaltungstools zugänglich gemacht werden können.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cxml_javamanagementx
Dateiname:cxml_javamanagementx.html