Aufbau von PMI-Daten

Verwenden Sie diese Seite als allgemeine Übersicht über die Überwachung, Datenerfassung und Zähler mit Performance Monitoring Infrastructure (PMI) und Tivoli Performance Viewer.

PMI (Performance Monitoring Infrastructure) ermöglicht die serverseitige Überwachung und stellt eine clientseitige API zum Abrufen von Leistungsdaten bereit. PMI (Performance Monitoring Infrastructure) verwaltet statistische Daten in der gesamten Domäne des WebSphere Application Server einschließlich mehrerer Knoten und Server. Jeder Knoten kann einen oder mehrere WebSphere Application Server enthalten. Jeder Server verwaltet PMI-Daten in Modulen und Submodulen.

PMI-Module

Tivoli Performance Viewer, früher als Ressourcenanalyseprogramm bezeichnet, verwaltet Leistungsdaten in einer zentralisierten Hierarchie der folgenden Objekte:
  • Knoten. Ein Knoten ist eine physische Maschine in der Administrationsdomäne von WebSphere Application Server.
  • Server. Ein Server ist eine Funktionseinheit, die über ein Netz Services für Clients bereitstellt. Für den Server selbst werden keine Leistungsdaten erfasst.
  • Modul.

    [AIX Solaris HP-UX Linux Windows]Ein Modul ist eine der Ressourcenkategorien, für die erfasste Daten an den Performance Viewer übergeben werden. Jedes Modul hat mindestens eine Konfigurationsdatei im Format XML. Diese Dateien legen die Verwaltung fest und listet eindeutige IDs für alle Leistungsdaten im Modul auf. Zu den Modulen gehören Enterprise-Beans, JDBC-Verbindungspools, J2C-Verbindungspools, Java™ (einschließlich Java Virtual Machine Tool Interface (JVMTI)), der Servletsitzungsmanager, Thread-Pools, Transaktionsmanager, Webanwendungen, der Object Request Broker (ORB), der Workload Management (WLM), das Web Services Gateway (WSGW) und der dynamische Cache.

    [z/OS]Ein Modul ist eine der Ressourcenkategorien, für die erfasste Daten an den Performance Viewer übergeben werden. Jedes Modul hat eine Konfigurationsdatei im Format XML. Diese Datei legt die Verwaltung fest und listet eindeutige IDs für alle Leistungsdaten im Modul auf. Zu den Modulen gehören Enterprise-Beans, JDBC-Verbindungspools, J2C-Verbindungspools, die JVM-Laufzeitumgebung (einschließlich Java Virtual Machine Tool Interface (JVMTI)), der Servletsitzungsmanager, der Transaktionsmanager, Webanwendungen, der Object Request Broker (ORB) und der dynamische Cache.

  • Submodul. Ein Submodul ist eine dem Modul untergeordnete feine Unterteilung einer Ressourcenkategorie. Beispielsweise ist der ORB-Thread-Pool ein Submodul der Thread-Pool-Kategorie. Submodule können andere Submodule enthalten.
  • Zähler. Ein Zähler ist ein Datentyp, der zum Speichern von Leistungsdaten für die Analyse verwendet wird. Jeder Ressourcenkategorie (Modul) ist eine Gruppe von Zählern zugeordnet. Die Datenpunkte in einem Modulen werden abgefragt und anhand der ObjectNames oder PerfDescriptors der MBean unterschieden. Zähler messen z. B. die Anzahl der aktiven Enterprise-Beans, die Antwortzeit nach einer Servletanforderung oder den verfügbaren Speicher in Kilobyte.

Tivoli Performance Viewer ist ein Thin-Client, der in die Administrationskonsole von WebSphere Application Server integriert ist. Dabei handelt es sich um einen einfachen Viewer für PMI-Leistungsdaten (Performance Monitoring Infrastructure), mit dem Benutzer die Zählerdaten anzeigen und bearbeiten können. Ein bestimmter Zählertyp kann in verschiedenen Modulen erscheinen. Beispielsweise können sowohl Servlet- als auch Enterprise-Bean-Module einen Zähler für die Antwortzeit haben. Darüber hinaus kann ein Zählertyp mehrere Instanzen innerhalb eines Moduls verwenden. In der obigen Abbildung haben das Enterprise-Bean-Modul und Bean1 einen Zähler für die durchschnittliche Antwortzeit der Methode.

Zähler werden auf Modulebene aktiviert und können für Elemente innerhalb des Moduls aktiviert oder inaktiviert werden. Wenn z. B. in der Abbildung das Enterprise-Bean-Modul aktiviert wird, wird der entsprechende Zähler für die durchschnittliche Antwortzeit der Methode standardmäßig aktiviert. Sie können jedoch anschließend den Zähler für die durchschnittliche Antwortzeit der Methode inaktivieren, wenn die übrigen Modulzähler aktiviert sind. Sie können ebenfalls den Zähler für die durchschnittliche Antwortzeit der Methode für Bean1 inaktivieren, allerdings enthält dann die Antwortzeit des Aggregats, die für das gesamte Modul aufgezeichnet wird, keine Bean1-Daten mehr.

Im Rahmen einer differenzierten Steuerungsfunktion stellt WebSphere Application Server Statistikgruppen bereit. Es handelt sich um vordefinierte feste serverseitige Gruppen, die auf den Einsatzszenarien für PMI-Statistiken basieren. Zu den Stufen der PMI-Spezifikation gehören: "none" (Ohne), "basic" (Basis), "all" (Alle) und "custom" (Angepasst). Wenn Sie "none" auswählen, werden alle PMI-Module inaktiviert. Bei Auswahl von "basic" werden J2EE und die wichtigsten Statistiken bereitgestellt, um eine grundlegende Überwachung zu ermöglichen. Bei Auswahl von "extended" werden erweiterte Überwachungsfunktionen bereitgestellt, einschließlich der Basisstufe sowie Workload-Monitor, Leistungsadvisor und Tivoli-Ressourcenmodellen. Mit dieser Zusammensetzung steht Ihnen eine leistungsfähigere Gruppe von Überwachungsstatistiken zur Verfügung. Bei Auswahl von all werden alle Statistiken aktiviert. Die Option custom ermöglicht eine differenzierte Steuerung für die individuelle Aktivierung und Inaktivierung der Statistiken.

Eine Statistik kann zwei Status annehmen: aktiviert und inaktiviert. WebSphere Application Server Version stellt auf der PMI-Servicestufe einen Konfigurationsparameter, synchronizedUpdate, zur Verfügung, mit dem synchronisierte Aktualisierungen aktiviert werden können. Wenn dieses Attribut den Wert true hat, werden alle Statistikaktualisierungen synchronisiert. Standardmäßig ist der Parameter synchronizedUpdate auf false gesetzt. Sie können das Kontrollkästchen Sequenzielle Zähleraktualisierungen verwenden in der Administrationskonsole auswählen, um synchronisierte Aktualisierungen zu aktivieren.

Die Datenerfassung kann sich auf die Leistung des Anwendungsservers auswirken. Die Auswirkung ist von Anzahl und Typ der aktivierten Zähler sowie von der Überwachungsstufe der Zähler abhängig.

Aufbau von Leistungsdaten
Für die folgenden PMI-Module können statistische Daten bereitgestellt werden:
Enterprise-Bean-Modul, Enterprise-Bean, Methoden in einer Bean
Datenzähler für diese Kategorie zeichnen Lastwerte, Antwortzeiten und lebenszyklusabhängige Aktivitäten für Enterprise-Beans auf. Beispiele dafür sind die durchschnittliche Anzahl aktiver Beans und die Intervalle, in denen Bean-Daten geladen oder in die Datenbank geschrieben werden. Es werden Daten für Enterprise-Bean-Methoden und die von einer Enterprise-Bean verwendeten fernen Schnittstellen angezeigt. Beispiele dafür sind die Anzahl der Aufrufe einer Methode und die durchschnittliche Antwortzeit für die Methode. Darüber hinaus zeichnet der Tivoli Performance Viewer Daten zur Größe und Verwendung des Caches für Bean-Objekte bzw. zum Pool für Enterprise-Bean-Objekte auf. Ein Beispiel dafür ist die Anzahl der Aufrufe, mit denen versucht wurde, ein Objekt aus einem Pool abzurufen. Ein anderes Beispiel ist, wie oft ein Objekt im Pool als verfügbar ermittelt wurde.
JDBC-Verbindungspools
Datenzähler für diese Kategorie enthalten Daten zur Verwendung der JCBC-Verbindungspools für eine Datenbank. Beispiele dafür sind die Anzahl verwalteter Verbindungen bzw. der physischen Verbindungen und die Gesamtanzahl der Verbindungen bzw. Verbindungskennungen.
J2C-Verbindungspool (Java 2 Connector)
Datenzähler für diese Kategorie enthalten Daten zur J2EE-Connector-Architektur (Java 2 Platform, Enterprise Edition). Diese Architektur ermöglicht Enterprise-Beans, eine Verbindung zu prozedurorientierten Back-End-Systemen, wie z. B. (CICS (Customer Information Control System) und IMS (Information Management System), herzustellen und mit diesen zu interagieren. Beispiele dafür sind die Anzahl verwalteter Verbindungen bzw. der physischen Verbindungen und die Gesamtanzahl der Verbindungen bzw. Verbindungskennungen.
Java Virtual Machine API (JVM)
Datenzähler für diese Kategorie enthalten Daten zu dem von einem Prozess verwendeten Speicher, wie von der JVM (Java Virtual Machine) aufgezeichnet. Beispiele dafür sind der gesamte verfügbare Speicher und der freie Speicherplatz für die JVM. Die JVM-Laufzeit umfasst auch Daten der JVMTI. Diese Daten bieten enthalten detaillierte Informationen zu der JVM, die den Anwendungsserver ausführt.
Servletsitzungsmanager
Datenzähler für diese Kategorie enthalten Daten zur Verwendung von HTTP-Sitzungen. Beispiele dafür sind die Gesamtanzahl der Sitzungen, auf die zugegriffen wurde, die durchschnittliche Zeit, die eine Sitzung zur Durchführung einer Anforderung benötigt und die durchschnittliche Anzahl gleichzeitig aktiver HTTP-Sitzungen.
Thread-Pool
Datenzähler für diese Kategorie enthalten Daten zu Pools für ORB-Threads (Object Request Broker) und Pools für Web-Container, die zur Verarbeitung von HTTP-Anforderungen verwendet werden. Beispiele dafür sind die Anzahl der erstellten und gelöschten Threads, die Maximalanzahl der zulässigen im Pool befindlichen Threads und die durchschnittliche Anzahl aktiver Threads im Pool.
Java Transaction API (JTA)
Datenzähler für diese Kategorie enthalten Leistungsdaten für den Transaktionsmanager. Beispiele dafür sind die durchschnittliche Anzahl aktiver Transaktionen, die durchschnittliche Dauer von Transaktionen und die durchschnittliche Anzahl von Methoden pro Transaktion.
Webanwendungen, Servlet
Datenzähler für diese Kategorie enthalten Daten für den ausgewählten Server. Beispiele dafür sind die Anzahl geladener Servlets, die durchschnittliche Antwortzeit für abgeschlossene Anforderungen und die Anzahl der Anforderungen für das Servlet.
ORB (Object Request Broker)
Datenzähler für diese Kategorie enthalten Daten für den ORB. Beispiele dafür sind Lookup-Zeit für Objektreferenzen, die Gesamtanzahl der Anforderungen und die Verarbeitungszeit für jeden Interceptor.
OSGi-Anwendungen
Datenzähler für diese Kategorie enthalten Daten für Services und Bundle-Methoden. Beispiele hierfür sind die Anzahl von Service- und Bundle-Methodenaufrufen sowie die durchschnittliche Antwortzeit für den Service bzw. die Bundle-Methode.
Web Services Gateway (WSGW)
Datenzähler für diese Kategorie enthalten Daten für WSGW. Beispiele dafür sind die Anzahl synchroner und asynchroner Anforderungen und Antworten.
Systemdaten
Datenzähler für diese Kategorie enthalten Daten für eine Maschine (Knoten). Beispiele dafür sind die CPU-Auslastung und die Speicherauslastung. Diese Kategorie ist auf Knotenebene verfügbar, d. h., sie ist nur für den Node Agent verfügbar, wenn Sie mehrere Server ausführen.
[IBM i][AIX Solaris HP-UX Linux Windows]Workload-Management (WLM)
[IBM i][AIX Solaris HP-UX Linux Windows]Datenzähler für diese Kategorie enthalten Daten für das Workload-Management. Beispiele dafür sind die Anzahl der Anforderungen, die Anzahl der Aktualisierungen und die durchschnittliche Antwortzeit.
Dynamischer Cache
Datenzähler für diese Kategorie enthalten Daten zum dynamischen Cacheservice. Beispiele für die Zähler sind die Größe des speicherinternen Cache, die Anzahl der Invalidierungen und die Anzahl der Treffer und Fehltreffer.
Web-Services
Die Datenzähler für diese Kategorie enthalten Informationen zu Web-Services. Beispiele für diese Zähler sind die Anzahl geladener Web-Services, die Anzahl der übermittelten und verarbeiteten Anforderungen, die Antwortzeit auf Anforderungen und die durchschnittliche Größe von Anforderungen.
Alarmmanager
Die Datenzähler für diese Kategorie enthalten Informationen zum Alarmmanager.
Objektpool
Die Datenzähler für diese Kategorie enthalten Informationen zu Objektpools.
Scheduler
Die Datenzähler für diese Kategorie enthalten Informationen zum Scheduler-Service.

Sie können mit den Methoden "getStatsObject" und "getStatsArray" von PerfMBean auf die PMI-Daten zugreifen. Dabei müssen die ObjectNames der MBean an PerfMBean übergeben werden.

Mit den folgenden MBean-Typen können Sie PMI-Daten der entsprechenden Kategorien abrufen:
  • DynaCache: PMI-Daten für dynamischen Cache
  • EJBModule*: PMI-Daten für das Modul Enterprise JavaBeans (EJB) (BeanModule)
  • EntityBean*: PMI-Daten für eine bestimmte EJB (BeanModule)
  • JDBCProvider*: PMI-Daten für JDBC-Verbindungspool
  • J2CResourceAdapter*: PMI-Daten für J2C-Verbindungspool (Java 2 Connectivity)
  • JVM: PMI-Daten für die JVM (Java Virtual Machine)
  • MessageDrivenBean*: PMI-Daten für eine bestimmte EJB (BeanModule)
  • ORB: PMI-Daten für den ORB (Object Request Broker)
  • Server: Wenn Sie PMI-Daten für den gesamten Server abrufen wollen, müssen Sie recursive=true an PerfMBean übergeben.
  • SessionManager*: PMI-Daten für HTTP-Sitzungen
  • StatefulSessionBean*: PMI-Daten für eine bestimmte EJB (BeanModule)
  • StatelessSessionBean*: PMI-Daten für eine bestimmte EJB (BeanModule)
  • SystemMetrics: PMI-Daten für die Systemebene
  • ThreadPool*: PMI-Daten für den Thread-Pool
  • TransactionService: PMI-Daten für JTA-Transaktionen
  • WebModule*: PMI-Daten für Webanwendungen
  • Servlet*: PMI-Daten für Servlets
  • [AIX Solaris HP-UX Linux Windows][IBM i]WLMAppServer: PMI-Daten für Workload Management
  • WebServicesService: PMI-Daten für Web-Services
  • WSGW*: PMI-Daten für Web Services Gateway

Mit der API AdminClient fragen Sie den ObjectName jedes der oben genannten MBean-Typen ab. Sie können entweder alle MBeans abfragen und den MBean-Typ dann abgleichen oder nur die Abfragezeichenfolge für den Typ verwenden: String query = "WebSphere:type=meinTyp,node=meinKnoten,server=meinServer,*";

Sie müssen meinTyp, meinKnoten und meinServer durch die richtigen Angaben ersetzen. Wenn Sie die Klasse AdminClient zur Abfrage des ObjectName der MBeans aufrufen, erhalten Sie einen Set-Wert. Diese Antwort bedeutet, dass Sie mehrere ObjectNames erhalten.

Im obigen Beispiel gilt für die mit einem Stern (*) gekennzeichneten MBean-Typen, dass in einem Server möglicherweise mehrere ObjectNames vorhanden sind. In diesem Fall können die ObjectNames anhand von Typ und Name ermittelt werden (aber der mbeanIdentifier ist die eigentliche UID für MBeans). Die MBean-Namen sind jedoch nicht vordefiniert. Sie werden zur Laufzeit basierend auf den Anwendungen und Ressourcen festgelegt. Wenn mehrere ObjectNames zurückgegeben werden, können Sie einen Array von ObjectNames erstellen, an denen Sie interessiert sind. Anschließend können Sie die ObjectNames an PerfMBean übergeben, um die PMI-Daten abzurufen. Sie können zwischen den Optionen rekursiv und nicht rekursiv wählen. Wenn Sie sich für die rekursive Option entscheiden, werden Stats- und sub-stats-Objekte in einer Baumstruktur zurückgegeben. Bei der nicht rekursiven Option wird nur ein Stats-Objekt für die MBean zurückgegeben. Weitere Programmierinformationen finden Sie im Artikel Eigene Überwachungsanwendungen entwickeln.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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