Oracle Cloud Control ist die zentrale Monitoring-Lösung für Oracle Produkte. Mit dem Exchange Data Hub ist es möglich, Nachrichten für Alerts und Daten aus Metriken auf JMS Queues zu schreiben. Diese können dann mit einem OSB Prozess weiter verarbeitet werden. Eine Video Einführung gibt es hier.

Voraussetzungen

Als Basis um die Strecke zu testen dient:

  • Oracle Cloud Control 13.2
  • Oracle Service Bus 12.2.1.1

Es müssen folgende Schritte durchgeführt werden

  • Aufsetzen von JMS Queues auf dem Weblogic des OSB Servers
  • Einrichten des Data Exchange im Cloud Control
  • Einrichten einer Pipeline für die Verarbeitung der Queue auf dem OSB

JMS aufsetzen

Im Ordner  $ORACLE_HOME/sysman/bam der Cloud Control Installation befindet sich das script configEMSYSJMSSystemResource.py.

Setzen der Umgebung für wlst

$ORACLE_HOME/Oracle_Home/wlserver/server/bin/setWLSEnv.sh

java weblogic.WLST <Path>/configEMSYSJMSSystemResource.py „t3://localhost:7001“ weblogic welcome1 osb_server1

Zum Monitoring der JMS Queues kann man die JMSToolBox verwenden. Zur Konfiguration muss man die wlthint3client.jar angeben. (Qmanagers -> Configure)

Cloud Control Hub

Im Cloud Control unter setup -> Extensibility -> Data Exchange die Setup Seite öffnen. Dort die Connect Daten eingeben z.B:

Test Cloud Control Hub und JMS

Als nächster erfolgt ein einfacher Test. Ein Alert, der generiert werden soll ist z.B. Audit Sys Login in einer Datenbank. Dazu wird eine Outbond Data Exchange Session angelegt mit folgenden Parametern:

Als Target wird folgendes hinzugefügt:

 

Leider kann man im Cloud Control 13.2 die Rule für die Benachrichtigung über die Oberfläche nicht einsehen, die angelegt wird.  Zum Test muss man den incident/event auslösen. Dazu wird in diesem Fall, eine Anmeldung als sys an der DB durchgeführt (sqlplus / as sysdba). Vor der Anmeldung sollte im incident Manager kein Event vorhanden sein:

Nach kurzer Zeit sollte ein incident sichtbar werden:

 

In der Console des Weblogic unter den JMS Queues, sieht der Alert so aus:

Die Details der JMS Nachricht:

Beispiel Payload Nachricht

Logfiles

Sollten Fehler auftreten bitte dieses Log prüfen und den Loglevel anpassen. Hier im Beispiel JMS Queue nicht erreichbar. emoms_pbs.log. Andere Fehler sind im emoms.log bzw trc zu finden.

Konfiguration OSB

Eine Einführung zu Möglichkeiten der Schnittstelle ist in dieser Suppor Note:

Knows issues and limitations with Data exchange feature in 12c Cloud Control (Doc ID 1603355.1)

Einrichten Mail im OSB

Als Erstes muss ein E-Mail-Konto eingerichtet werden. Für Tests bietet sich die Verwendung eines Gmail-Postfaches an, Details zur genauen Konfiguration sind in der Oracle Doku bzw. in Blogeinträgen zu finden. Eine detaillierte Einführung zu OSB und E-Mail verschicken gibt es hier:

Configure and send email notifications with UMS Notification Service in Service Bus 12c

Konfiguration mit Gmail: https://technology.amis.nl/2014/08/05/setup-gmail-as-mail-provider-for-soa-suite-12c-configure-smtp-certificate-in-trust-store/

XSD für Schema

Um die Nachrichten zu verarbeiten sind Schemadefinitionen notwendig. Die XSD des Schemas findet man in der Cloud Control Dokumentation. Hier gibt es 2 unterschiedliche Ausprägungen:

  • Denormalized
  • Normalized

Je nachdem was man im Cloud Control eingestellt hat, bitte entsprechendes XSD wählen. Ich verwende Denormalized, hier werden Textdaten statt GUIDs übermittelt. Außerdem wird nur eine Nachricht erzeugt.

Eine Beispielnachricht:

Oracle Service Bus Konfigurationen

Anpassen JMS Payload

Die Nachricht der JMS muss angepasst werden. Das Schema de: sollte vor jedem Element definiert werden. Dazu wird ein Xslt query mit folgenden Mapping ergänzt :

Im Anschluss die Parameter zuweisen, so ergibt sich folgender Process:

Die genaue Konfiguration und ein Beispiel kann diesem Video entnommen werden.