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.
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.
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.
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.
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.
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
$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
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.