Sun Java Enterprise System 5 Überwachungshandbuch

Kapitel 1 Überblick über die Überwachung mit Java ES

In diesem Handbuch werden die Komponenten Monitoring Framework 2.0 und Monitoring Console 1.0 des Sun JavaTM Enterprise System (Java ES) beschrieben. Diese Komponenten implementieren zusammen das neue, in Version 5 eingeführte Leistungsmerkmal zur Überwachung.

Die in diesem Handbuch enthaltenen Anleitungen zeigen Ihnen, wie Sie das Monitoring Framework für jede Ihrer installierten Komponenten aktivieren und anschließend alle überwachten Daten in der Monitoring Console anzeigen. Dieses Handbuch dokumentiert keine Protokolldateien, Fehlermeldungen oder andere Überwachungsmechanismen, die einige Komponenten womöglich außerhalb dieses Frameworks implementieren. Das Monitoring Framework und die Monitoring Console bieten keine Verwaltungsfunktionen für überwachte Komponenten. Informationen zur Verwaltung von Komponenten finden Sie in der Dokumentation des jeweiligen Produkts.

In diesem Kapitel werden das Prinzip der Überwachung sowie der Aufbau des Monitoring Framework vorgestellt.

Dieses Kapitel enthält die folgenden Abschnitte:

Die Komponenten des Monitoring Framework und der Monitoring Console

Das Sun Java System Monitoring Framework stellt die Infrastruktur zur Instrumentierung von Komponenten und zum Verfügbarmachen von Attributen für die Überwachung bereit. Es definiert eine Hierarchie überwachter Objekte namens Common Monitoring Model (CMM), die auf der Industritstandard-Spezifikation “Common Information Model” (CIM) beruht. Jede Produktkomponente macht die Objekte mit überwachbaren Attributen zugänglich, und ein sog. Knotenagent stellt eine Ansicht mehrerer Komponenten auf einem Host zusammen. Das Monitoring Framework bietet darüber hinaus einen Mechanismus zum Erfassen von Betriebsstatistiken und Definieren von Alarmen gemäß benutzerspezifischer Schwellenwerte.

Die Sun Java System Monitoring Console ist die grafische Benutzeroberfläche zum Überwachen von Java ES-Komponenten. Sie umfasst einen Master-Agent, der mit allen in einer Java ES-Bereitstellung enthaltenen Knotenagenten kommuniziert. Die Monitoring Console ist eine Internet-basierte Anwendung, auf die über die Sun Java SystemWeb Console mithilfe des HTTP-Protokolls von überallher zugegriffen werden kann. Im Hauptbildschirm wird eine Übersicht über alle aktivierten Komponenten einschließlich aller ausgelösten Alarme angezeigt. Sie können dann auf die Hierarchie überwachter Objekte in jeder Komponente zugreifen und den ausführlichen Status sowie die Echtzeitwerte aller überwachten Attribute anzeigen. Die Monitoring Console-Oberfläche ermöglicht das Anzeigen ausführlicher Informationen zu jedem Alarm, das Quittieren von Alarmen bzw. das Erstellen neuer Überwachungsregeln auf der Grundlage beliebiger Attribute.

Funktionsprinzip der Java ES-Überwachung

Unter Überwachung versteht man den Prozess des Erfassens von Laufzeitdaten, Zugänglichmachens dieser Daten und anschließendem Berechnen von Servicekriterien, sodass Systemadministratoren die Leistung bewerten und im Alarmfall entsprechend benachrichtigt werden können. Während des Betriebs müssen Administratoren nur mit der Monitoring Console interagieren, um Leistungsstatistiken anzuzeigen, Regeln zur automatischen Überwachung zu erstellen und Alarme zu quittieren. Für die Konfiguration, Fehlerbehebung und fortgeschrittene Überwachung ist das Verständnis des Aufbaus des Monitoring Framework und seiner Kommunikation mit der Monitoring Console jedoch von großem Vorteil.

Die Überwachung in Java ES beruht auf den folgenden Prinzipien:

In den folgenden Abschnitten werden die einzelnen Konzepte der Überwachungsarchitektur ausführlicher erläutert.

Das Common Monitoring Model (CMM)

Die Grundlage eines standardisierten Überwachungsmechanismus bildet die Definition, welche Objekte überwacht werden sollen und die Übernahme dieser Objekte für alle überwachten Komponenten. Zu diesem Zweck definiert die Überwachungsarchitektur das Common Monitoring Model (CMM) als Erweiterung des Common Information Model (CIM), das von der Distributed Management Task Force (DMTF) unterhalten wird. CMM ist ein Informationsmodell, das überwachte Objekte wie z. B. Computer, Anwendungen usw. sowie ein Datenmodell für gleichartige Werte wie z. B. Betriebsstatuswerte definiert. Im Rahmen des Informationsmodells definiert CMM darüber hinaus die Attribute eines Objekts, z. B. die von einem Dienst zu bearbeitenden Anforderungen, sowie die Beziehungen zwischen Objekten wie z. B. die Tatsache, dass ein Dienst auf einem bestimmten Computer installiert ist.

Dank des CMM sind Konzepte wie z. B: Anwendungen, Dienste, Zugriffspunkte usw. für alle Produktkomponenten gleich, auch wenn die zugrunde liegende Implementierung unterschiedlich ist. So kann Web Server beispielsweise einen Dienst zur Behandlung von HTTP-Anforderungen zugänglich machen, während Directory Server einen Dienst zur Behandlung von LDAP-Anforderungen bietet. Ein diesem Standard entsprechendes Objekt erfasst jedoch nur das Gemeinsame dieser Funktionen, so z. B. die Anzahl der behandelten Anforderungen oder die Zeit, die innerhalb eines bestimmten Zeitraums im Durchschnitt zur Behandlung einer Anforderung notwendig ist usw.

Darüber hinaus sind einige Datenwerte standardisiert, sodass ihre Bedeutung im gesamten System gleichartig ist. Der Betriebssstatus DEGRADED bedeutet beispielsweise stets, dass ein Dienst zwar noch verfügbar, seine Leistung jedoch beträchtlich abgefallen ist. Dabei spielt es keine Rolle, welche Produktkomponente überwacht wird.

Die CMM-Spezifikation ist in die für die Instrumentierung verwendeten Java-Schnittstellen und Klassen integriert. Diese sind in Anhang A, CMM-Objektreferenz, beschrieben.

CMM-Instrumentierung

Im Monitoring Framework, wird die Instrumentierung von bestimmten Java-Schnittstellen und -Klassen bereitgestellt, die die CMM-Definitionen implementieren. Für die neue Überwachungsfunktionalität von Java ES wurde der Code von Produktkomponenten entsprechend instrumentiert, damit Instanzen von CMM-Objekten erstellt und Laufzeitwerte über die Attribute überwachter Objekte zugänglich gemacht werden können . Die von jeder Komponente implementierten CMM-Objekte legen fest, was überwacht werden kann. Deswegen ist die Anzahl der für die Überwachung zugänglichen Attribute je nach Komponente unterschiedlich. Die Liste der Objekte und Attribute, die von jeder Produktkomponente zugänglich gemacht werden, finden Sie in Anhang B, Objekte, die bei jeder Komponente zur Überwachung vorgesehen sind.

Knotenagenten

In der Begriffswelt der Überwachung versteht man unter einem Knoten einen einzelnen logischen Host, der durch einen vollständigen Domänennamen bzw. eine IP-Adresse eindeutig identifiziert werden kann. Ein Knoten kann entweder ein gesamtes System oder eine als virtuelles System konfigurierte Solaris Zone sein. Der Knotenagent kommuniziert mit allen instrumentierten Komponenten auf diesem Host und macht alle ihre überwachten Objekte zugänglich. Darüber hinaus verwalten Knotenagenten die gesamte Logik zum Erfassen von Leistungsdaten, überwachen in Regeln definierte Schwellenwerte und generieren Alarme für die in ihnen enthaltenen überwachten Objekte.

Das folgende Schema veranschaulicht den Inhalt eines Knotenagenten auf einem einzelnen Host mit Instanzen von drei Java ES-Produktkomponenten. Es zeigt außerdem, wie die Instrumentierung im Knotenagenten instanziiert wird, um die von den Produktkomponenten bereitgestellten Werte für die Überwachung zugänglich zu machen.

Abbildung 1–1 Schematische Darstellung eines Knotenagenten

Innerhalb des Knotenagenten gibt es Objekte, die instrumentierte Attribute und Überwachungsregeln (z. B. das Achtgeben auf Schwellenwertalarme) repräsentieren.

Ein Knotenagent ist als Modul implementiert, das in den Common Agent Container (der eine Java Virtual Machine darstellt) geladen wird . Die Implementierung von Knotenagenten beruht auf den Java Management Extensions (JMX), des Java-Standarderweiterungspakets für die Überwachung und Fernverwaltung. Alle JMX-fähigen und CMM-kompatiblen Überwachungsanwendungen können auf die überwachten Objekte im Knotenagent zugreifen. Mithilfe der JMX-Funktionalität kann der Knotenagent darüber hinaus über das Simple Network Monitoring Protocol (SNMP) bestimmte überwachte Objekte zugänglich machen.

Der Master-Agent

Der Master-Agent wird als Teil der Monitoring Console-Installation auf einem eigenen Rechner bereitgestellt. Der Master-Agent wird mit dem Namen und der Adresse aller Knoten konfiguriert, sodass die überwachten Objekte von allen Knotenagenten zusammengefasst werden können. Der Master-Agent ist ebenfalls JMX-basiert und nutzt JMX zur Kommunikation mit den Knotenagenten. Er befindet sich in seinem lokalen Common Agent Container.

Die folgende Abbildung zeigt einen mit zwei Knoten verbundenen Master-Agenten. Die Monitoring Console stellt zum Überwachen der drei Komponenten auf jedem Knoten zum Master-Agent eine Verbindung her. Wenn Sie zur Überwachung SNMP verwenden möchten, müssen Sie zu jedem einzelnen Knoten getrennt eine Verbindung herstellen, da der Master-Agent keine SNMP-Attribute zusammenfasst. Der Master-Agent ist nur zur Verwendung mit der Monitoring Console gedacht und für andere Überwachungsanwendungen nicht zugänglich.

Abbildung 1–2 Schematische Darstellung der gesamten Überwachungsarchitektur

Der Master-Agent stellt zu den einzelnen JMX-Knotenagenten Verbindungen her und macht alle überwachten Objekte für die Monitoring Console zugänglich.

Empfohlene Installationsreihenfolge

Wenn Sie die Java ES-Überwachungsfunktionalität bewerten oder bereitstellen wollen, wird empfohlen, die Installation in der folgenden Reihenfolge durchzuführen:

  1. Installation und Konfiguration aller Komponenten in Ihrer Bereitstellung gemäß den Empfehlungen und Anweisungen im Sun Java Enterprise System 5 Installationshandbuch für UNIX.

  2. Aktivieren und Konfigurieren des Monitoring Framework für alle überwachten Komponenten (siehe Kapitel 2, Aktivieren und Konfigurieren des Monitoring Framework).

  3. Installation der Monitoring Console auf einem eigenen Host, Starten des Master-Agenten, und anschließend des Web-Servers (siehe Kapitel 3, Installation und Verwendung der Monitoring Console. Alle überwachten Komponenten sollten in der Monitoring Console danach sichtbar sein und aktiv überwacht werden.


Hinweis –

Wegen einer Inkompatibilität von Knotenagent und Master-Agent in in dieser Version muss die Monitoring Console auf einem Host installiert werden, auf dem keine anderen Java ES-Komponenten installiert sind. Ausführlichere Informationen finden Sie im Abschnitt Fehlerbehebung an der Monitoring Console.


Immer, wenn Sie nach dem Aktivieren der Überwachung an bereitgestellten Komponenten Änderungen vorgenommen haben, müssen Sie den Container für den Master-Agenten und den Web-Server für die Monitoring Console neu starten (siehe Fehlerbehebung am Monitoring Framework).