WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Korrelation und Überwachungsereignisse

Anhand von Korrelationsattributen identifiziert eine Überwachungsanwendung Ereignisse, die zu derselben Geschäftstransaktion gehören.

Eine Geschäftstransaktion kann eines der folgenden Szenarien sein:

Es gibt drei Korrelationsattribute, die Sie in Ihren Ereignissen verwenden können: Lokaler Korrelator, Übergeordneter Korrelator und Globaler Korrelator. Die genaue Verwendung der Korrelationsattribute ist von den jeweiligen Anforderungen abhängig. Beispielsweise kann eine übergeordnete Anwendung ihre Transaktions-ID an den untergeordneten Nachrichtenfluss übergeben (z. B. in einem Header), sodass der untergeordnete Nachrichtenfluss sie im Ereignis als einen übergeordneten Korrelationswert dokumentieren kann.

Jedes ausgegebene Überwachungsereignis kann einen lokalen Korrelator, einen übergeordneten und einen globalen Korrelator enthalten. Korrelationsinformationen sind in den folgenden Attributen des Ereignisses angegeben:
wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId

Bei der Konfiguration des Ereignisses können Sie Korrelationsinformationen angeben.

Wenn Sie bei der Konfiguration von Ereignissen keine Korrelationsinformationen angeben, werden keine Korrelationsattribute verwendet.

Wenn Sie Korrelationsinformationen angeben, müssen Sie die zu verwendenden Korrelationsattribute konfigurieren und angeben, aus welchen Quellen deren Werte gelesen werden. Üblicherweise müssen Sie nur für die erste Ereignisquelle im Nachrichtenfluss Korrelationsinformationen angeben, denn standardmäßig rufen alle nachfolgenden Ereignisquellen den betreffenden Wert aus der Umgebungsbaumstruktur ab.

Die genaue Vorgehensweise zur Angabe von Korrelationsinformationen ist davon abhängig, ob Sie Überwachungseigenschaften oder ein Überwachungsprofil zum Konfigurieren von Ereignissen verwenden. Die grundsätzliche Vorgehensweise ist jedoch bei beiden Verfahren dieselbe:
Lokaler Korrelator

Wenn der lokale Korrelator aus der Umgebungsbaumstruktur wiederverwendet werden soll, geben Sie Automatisch an. Falls noch kein lokaler Korrelationswert existiert, wird ein neuer eindeutiger Wert generiert und in der Umgebungsbaumstruktur gespeichert.

Wenn ein Wert, der an einer Position in der Nachricht steht, verwendet werden soll, geben Sie die Position des Korrelators an, indem Sie einen XPath in die Nachrichtenbaumstruktur einfügen. Stellen Sie sicher, dass die angegebene Position einen Korrelationswert enthält, der für diesen Aufruf des Nachrichtenflusses eindeutig ist. Der extrahierte Wert wird als der lokale Korrelator in der Umgebungsbaumstruktur gespeichert.

Übergeordneter Korrelator

Wenn der übergeordnete Korrelator aus der Umgebungsbaumstruktur wiederverwendet werden soll, geben Sie Automatisch an. Falls noch kein übergeordneter Korrelationswert existiert, wird kein übergeordneter Korrelationswert verwendet.

Wenn ein Wert, der an einer Position in der Nachricht steht, verwendet werden soll, geben Sie die Position des Korrelators an, indem Sie einen XPath in die Nachrichtenbaumstruktur einfügen. Stellen Sie sicher, dass die angegebene Position einen geeigneten Wert für den übergeordneten Korrelator enthält. Der extrahierte Wert wird als der übergeordnete Korrelator in der Umgebungsbaumstruktur gespeichert.

Globaler Korrelator

Wenn der globale Korrelator aus der Umgebungsbaumstruktur wiederverwendet werden soll, geben Sie Automatisch an. Falls noch kein globaler Korrelationswert existiert, wird kein globaler Korrelationswert verwendet.

Wenn ein Wert, der an einer Position in der Nachricht steht, verwendet werden soll, geben Sie die Position des Korrelators an, indem Sie einen XPath in die Nachrichtenbaumstruktur einfügen. Stellen Sie sicher, dass die angegebene Position einen geeigneten Wert für den globalen Korrelator enthält. Der extrahierte Wert wird als der globale Korrelator in der Umgebungsbaumstruktur gespeichert.

Wenn ein Korrelatorwert festgelegt wurde, wird er in der Umgebungsbaumstruktur gespeichert. Nachfolgende Ereignisquellen können den gespeicherten Wert wiederverwenden, indem Sie Automatisch angeben. Es ist nicht nötig, in allen Ereignisquellen in Ihrem Nachrichtenfluss denselben XPath zu verwenden. Dadurch könnte die Leistung beeinträchtigt werden.

Korrelationswerte werden an folgenden Positionen in der Umgebungsbaumstruktur zur Verwendung durch spätere Ereignisse gespeichert:

Environment.Monitoring.EventCorrelation.localTransactionId       
Environment.Monitoring.EventCorrelation.parentTransactionId       
Environment.Monitoring.EventCorrelation.globalTransactionId 

 

Die folgenden Nachrichtenbaumstrukturpositionen enthalten häufig einen Wert, der als Korrelationswert verwendet werden kann:
$Root/MQMD/MsgId
$Root/MQMD/CorrelId
$Root/JMSTransport/Transport_Folders/Header_Values/JMSMessageID
$Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID
$LocalEnvironment/Destination/HTTP/RequestIdentifier
$LocalEnvironment/Wildcard/WildcardMatch
Tipp: Wenn die drei verfügbaren Korrelatoren nicht ausreichen, können Sie das Ereignis so konfigurieren, dass es weitere Korrelationsfelder aus der Nachricht extrahiert und in den Abschnitt wmb:applicationData/wmb:simpleContent des Ereignisses einfügt.
Tipp: Der Collector-Knoten und der AggregateControl-Knoten erhalten die Umgebungsstruktur nicht für nachfolgende Knoten im Nachrichtenfluss aufrecht. Wenn derselbe Korrelatorwert später im Nachrichtenfluss verwendet werden soll, stellen Sie sicher, dass der Korrelatorwert in der Nachrichtenbaumstruktur verfügbar ist und die erste Ereignisquelle hinter dem Collector- oder AggregateControl-Knoten die Position des Korrelators angibt, indem ein XPath in die Nachrichtenbaumstruktur eingefügt wird.

Szenarios

Szenario 1: In diesem Szenario werden alle drei Korrelatoren zur Überwachung der Daten verwendet, die in einem externen Prozess beginnen. Die Daten werden danach durch mehrere Nachrichtenflüsse umgewandelt.
  • Das Feld globalTransactionID enthält eine Kennung aus dem Nachrichtenheader oder aus den Nutzdaten. Diese Kennung korreliert Ereignisse aus dem externen Prozess mit WebSphere Message Broker.
  • Die parentTransactionID korreliert Ereignisse in WebSphere Message Broker, die in verschiedenen Nachrichtenflüssen auftreten.
  • Die localTransactionID korreliert Ereignisse, die innerhalb eines Nachrichtenflusses auftreten.
Szenario 2: In diesem Szenario wird das Feld parentTransactionID zur Korrelierung der Anforderungs- und Antwortnachrichten zwischen zwei Nachrichtenflüssen verwendet:
  • Der Anforderungsnachrichtenfluss sendet eine purchaseOrder-Anforderung zur Verarbeitung an eine externe Anwendung.
  • Nach der Verarbeitung der purchaseOrder-Anforderung erhält der Antwortnachrichtenfluss als Antwort eine Bestätigung der externen Anwendung.

Die zum gleichen Auftrag gehörende Anforderung und Antwort müssen korreliert werden. Dies erreichen Sie, indem Sie die parentTransactionID auf ein Feld der purchaseOrder setzen, zum Beispiel auf purchaseOrderID, das sowohl in der Anforderung als auch in der Antwort vorhanden ist.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:20:26


Allgemeines ThemaAllgemeines Thema | Version 8.0.0.5 | ac60389_