Oracle Fusion Middleware Überwachung mit Oracle BAM

Werbung
Oracle Fusion Middleware Überwachung mit Oracle BAM
Markus Lohn
esentri AG
Ettlingen
Schlüsselworte
Monitoring, BAM, Fusion Middleware
Einleitung
Oracle BAM wird vor allem für das fachliche Überwachen von Geschäftsprozessen mit Oracle SOA
und BPM Suite eingesetzt. Jedoch besteht auch die Möglichkeit die Middleware Infrastruktur zu
überwachen. In diesem Vortrag werden die technischen Voraussetzungen und Möglichkeiten erläutert.
Darüberhinaus erfolgt eine Demonstration am konkreten Beispiel aus der Praxis.
Überwachung einer Infrastruktur auf Basis einer Fusion Middleware
Das Monitoren und Überwachen einer Middleware-Umgebung kann aus zwei verschiedenen
Perspektiven betrachtet werden. Zum einen aus Sicht der Applikation(en) und zum Anderen aus Sicht
der Infrastruktur. Im vorliegenden Kontext bezeichnet Infrastruktur alle beteiligten MiddlewareKomponenten und dazugehörigen Datenbanken. Einige Oracle Fusion Middleware Komponenten
(FMW) benötigten zur Laufzeit Datenbanken, z. B. Oracle SOA oder BPM Suite.
Abbildung 1 Werkzeugübersicht für die Überwachung einer Fusion Middleware Umgebung
Eine typische FMW-Systemarchitektur beinhaltet üblicherweise einen Loadbalancer (Software- oder
Hardware), WebLogic Server Cluster mit 1..n Managed Servern sowie die zugehörigen Datenbanken,
z. B. für SOA Suite. Betrachtet man zusätzlich alle installierten Java EE und/oder SOA-basierten
Applikationen, so entsteht eine komplexe Umgebung, die überwacht werden muss.
Für die verfügbaren FMW-Komponenten gibt es eine Reihe von Werkzeugen, die unterschiedliche
Aufgabestellungen in Bezug auf Monitoring und Überwachen bereitstellen. Ein Administrator kann
diese Werkzeuge nutzen und verschiedene Informationen zu den Komponenten abfragen und daraus
den Status der gesamten Umgebung ableiten. Das Abfragen dieser Informationen erfolgt jedoch immer
auf Anfrage durch den Administrator. Interessant wäre jedoch die Möglichkeit, ohne manuell Abfrage
auf einen Blick, zu erkennen, ob der Status der gesamten FMW-Umgebung „grün“ oder „rot“ ist.
In diesem Vortrag wird genau diese Fragestellung geklärt, durch den kombinierten Einsatz von
Diagnostic Monitoring Service (DMS) und Business Activity Monitoring (BAM).
Diagnostic Monitoring Service (DMS)
DMS ist ein Service in der FMW, der zum Sammeln von Performance- und Statusdaten zu einzelnen
Komponenten genutzt werden kann. DMS wurde bereits in FMW 10g angeboten und ist ebenfalls in
FMW 11g integriert. Die gesammelten Daten können dann in Überwachungswerkzeugen, z. B. Oracle
Enterprise Manager, analysiert und zur Anzeige gebracht werden. Beispielsweise werden die
Performancedaten zur JVM im Enterprise Manager durch DMS erfasst und zur Verfügung gestellt.
Abbildung 2 Architektur DMS
DMS besteht aus folgenden Kernkomponenten:
Metrics
Metrics umfasst das Sammeln von Performance und Statusinformationen. Ferner wird eine Sprache
zum Aggregieren und Erstellung von Berechnungen auf Basis der gesammelten Daten angeboten.
Execution Context
Ermöglicht die Erstellung und Nutzung eines eindeutigen Contextes zwischen verschiedenen FMWKomponenten. Ein wichtiger Anwendungsfall ist die Nutzung im Oracle Diagnostic Logging. Die sog.
ECID dient zum Nachverfolgen von Requests in den verschiedenen Logfiles der beteiligten FMWKomponenten, z. B. Oracle HTTP-Server, WebLogic Server etc.
Events and Tracing
Mit dieser Komponente besteht die Möglichkeit definierte Ereignisse abzufangen und entsprechende
Folgeaktionen zu starten. Eine Folgeaktion kann zum Beispiel die Weiterleitung der Daten an den
JRockit Flight Recorder bedeuten.
SpyServlet
Mit dem SpyServlet können die gesammelten Metrics in einer einfachen Weboberfläche zur Anzeige
gebracht werden.
MBeans
Alle gesammelten Metrics stehen zusätzlich als MBean zur Verfügung und können durch die
entsprechenden Werkzeuge (JConsole, MBean Browser, Java) ausgelesen werden. Zum Beispiel
bedient sich das SpyServlet bei der Anzeige der Metriken dem sog. AggreSpy MBean.
Business Activity Monitoring (BAM)
BAM ist ein real-time Monitoring Werkzeug. Es ermöglicht das Sammeln von Daten und die Anzeige
in interaktiven Dashboards und Berichten. Überdies besteht die Möglichkeit aus Dashboards und
Berichten weitere Aktionen zu starten. BAM wird als Bestandsteil der Oracle SOA Suite zur
Verfügung gestellt.
Die Daten in BAM werden in sog. Data Objects gespeichert. Data Objects müssen zunächst definiert
werden. Es empfiehlt sich deshalb für den jeweiligen Anwendungsfall ein Datenmodell für Data
Objects zu erstellen.
Abbildung 3 BAM Architektur
BAM besteht aus folgenden Kernkomponenten:
BAM Server
BAM Server verwaltet die gesammelten Daten in einem intelligenten Cache. Ferner übernimmt der
BAM Server die Kommunikation mit der BAM-Datenbank. Zusätzlich erfolgt die Überwachung von
Events und Folgeaktionen. Die Definition von Events und Folgeaktionen erfolgt über die Definition
von Alerts.
BAM Web Application
Die Web Applications bestehen aus weiteren Komponenten zum Verwalten von Berechtigungen,
Definition von Data Objects, Erstellung und Anzeige von Dashboards und Berichten.
BAM Adapter
Ist ein Java EE Resource Adapter, der für die Bereitstellung von Daten nach BAM angesprochen
werden kann. Die Kommunikation erfolgt über Webservices oder RMI.
BAM Datenbank
In der BAM Datenbank werden alle Data Objects, Dashboard- und Berichtsdefinitionen gespeichert.
Zusätzlich erfolgt auch die Speicherung der Daten zu Data Objects. Die BAM Datenbank ist technisch
ein einziges Schema in einer Oracle-Datenbank. Für jedes Data Object wird eine eigene Tabelle in der
BAM Datenbank erzeugt.
Integration DMS und BAM
Die Integration der beiden Komponenten erfolgt in Form einer Java EE Anwendung, die im WebLogic
Server installiert und konfiguriert wird. Performance- und Statusdaten werden über eine MBean in
DMS abgefragt. Die Daten werden auf jedem Managed Server erhoben. Die Performance- und
Statusdaten werden in Form eines XML-Dokumentes zur Verfügung gestellt. Das XML-Dokument
enthält die Performance- und Statusdaten in Form einer Tabellenstruktur, die sich aus den NounDefinitionen in DMS ableitet. Es enthält sowohl die Definition der Metrics, als auch die aktuellen
Daten zu den einzelnen Metrics.
Abbildung 4 FMW-Monitoring Komponenten
Nach Ermittlung der Performance- und Statusdaten werden zunächst die Data Objects in BAM
definiert, sofern noch nicht vorhanden. Die jeweilige Metrics-Definition wird aus dem XMLDokument extrahiert und anschließend durch eine XLS-Transformation in das XML-Format zur
Definition von Data Objects in BAM transformiert. Anschließend erfolgt der Aufruf des BAMAdapters, der ggf. das Data Object in BAM erstellt oder aktualisiert.
Anschließend werden die Daten der einzelnen Metrics aus dem XML-Dokument ermittelt und
ebenfalls durch den Aufruf des BAM Adapters in das jeweilige Data Object in BAM gespeichert.
Die Komponente FMW-Monitoring wird in Form einer Java EE-Applikation im WebLogic Server
installiert und konfiguriert. Zusätzlich kann eine Whitelist definiert werden, so dass lediglich
ausgewählten Metrics bei der Bearbeitung berücksichtigt werden. Die Anwendung wird in definierten
zeitlichen Abständen aktiviert und schreibt Daten nach BAM.
In BAM erfolgt die Anzeige und Auswertung in interaktiven Dashboards und Berichten.
Fazit
Über die Kombination von DMS und BAM können interaktive Dashboards zur Verfügung gestellt
werden, die den Status eine FMW-Umgebung dokumentieren. Interessant ist ferner die Möglichkeit,
diese Daten auch mit Informationen aus den einzelnen Applikationen zu verknüpfen. Somit besteht die
Möglichkeit, dem IT-Betrieb ein einfaches Werkzeug für die Überwachung einer FMW-Umgebung
bereitzustellen.
Kontaktadresse:
Markus Lohn
esentri AG
Pforzheimer Straße 132
D-76275 Ettlingen
Telefon:
Fax:
E-Mail
Internet:
+49 (0) 7243 354900
+49 (0) 7243
[email protected]
www.esentri.de
Herunterladen