WebSphere Message Broker kann so konfiguriert werden, dass bei einem wichtigen Ereignis ein Überwachungsereignis (ein XML-Dokument) ausgegeben wird. Ereignisse werden normalerweise zur Unterstützung der Transaktionsüberwachung, Transaktionsprüfung und Geschäftsprozessüberwachung ausgegeben. Die XML-Ereignisdatei entspricht dem Überwachungsereignisschema WMBEvent.xsd.
Sie können die Schemadatei WMBEvent.xsd im Ordner 'WBMonitorEventsProject' des WebSphere Business Monitor-Musters finden, wenn Sie diese in Ihren Arbeitsbereich importieren. Die Datei WMBEvent.xsd ist auch im standardmäßigen Nachrichtenkatalog verfügbar. Klicken Sie zum Zugriff auf das Schema aus dem WebSphere Message Broker Toolkit auf .
Ein Überwachungsereignis kann außerdem folgende Elemente enthalten:
Damit Softwareprogramme zur Verarbeitung von Ereignissen (z. B. WebSphere Business Monitor) in der Lage sind, die Reihenfolge von Ereignissen korrekt einzuhalten, wird sowohl eine ISO 8601-Zeitmarke als auch ein Zählerattribut generiert. Das Zählerattribut befindet sich im EventSequence-Element des Überwachungsereignisses. Dieser Zähler beginnt für das erste durch die Verarbeitung einer Nachricht generierte Ereignis (normalerweise das Ereignis 'transaction.Start') bei 1 und wird danach für jedes weitere generierte Ereignis inkrementell erhöht. Bei Beginn der nächsten Nachricht wird der Zähler wieder auf 1 zurückgesetzt. Die Erstellungszeit und der Zähler werden für alle Überwachungsereignisse generiert. Die Software, durch die die Ereignisse verarbeitet werden, kann zur Sequenzierung der Ereignisse eines der beiden oder auch eine Kombination der Felder verwenden.
Wenn eine Nachricht erfolgreich verarbeitet wurde, tragen die Überwachungsereignisse fortlaufende, sich erhöhende Zählerwerte, die bei 1 beginnen und zum Zeitpunkt der Ereigniserstellung zugewiesen wurden. Wenn eine Nachricht fehlschlägt und zurückgesetzt werden muss, können Lücken in der Zählerfolge entstehen. Die fehlenden Werte wurden denjenigen Ereignissen zugewiesen, die als Teil der zurückgesetzten Arbeitseinheit des Nachrichtenflusses generiert wurden.
<?xml version="1.0" encoding="UTF-8"?>
<wmb:event xmlns:wmb=http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event>
<wmb:eventPointData>
<wmb:eventData wmb:eventSourceAddress="MQInput1.terminal.in"
wmb:eventSchemaVersion="6.1.0.3" wmb:productVersion="7000">
<wmb:eventIdentity wmb:eventName="MQInput event"/>
<wmb:eventSequence wmb:creationTime="2001-12-31T12:00:00+01:00" wmb:counter='2'/>
<wmb:eventCorrelation wmb:localTransactionId="123"
wmb:parentTransactionId="456"
wmb:globalTransactionId="789"/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:UUID="d53122ae-1c01-0000-0080-b1b02528c6bf"
wmb:name="myBroker"/>
<wmb:executionGroup wmb:UUID="d43122ae-1c01-0000-0080-b1b02528c6bf"
wmb:name="default"/>
<wmb:messageFlow wmb:UUID="e6d224ae-1c01-0000-0080-9100cd1a61f7"
wmb:name="myMessageFlow" wmb:threadId="4201"
wmb:uniqueFlowName="myBroker.default.myMessageFlow"/>
<wmb:node wmb:nodeLabel="MQInput1" wmb:nodeType="ComIbmMqInputNode"
wmb:terminal="in" wmb:detail="MYMESSAGEFLOW.IN"/>
</wmb:messageFlowData>
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="invoiceNo" wmb:targetNamespace=""
wmb:dataType="string" wmb:value="567"/>
<wmb:complexContent wmb:elementName="customerName" wmb:targetNamespace="">
<customerName>
<firstName>Steve</firstName>
<lastName>Bloggs</lastName>
</customerName>
</wmb:complexContent>
</wmb:applicationData>
<wmb:bitstreamData>
<wmb:bitstream wmb:encoding="base64Binary">TUQgIAIAAAAAAAAACAAAAP////8AAAAAIgIAALUBAAAgICAgICAg
IAAAAAAAAAAAQU1RIFFNMSAgICAgICAgIHo640ggABsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
Ag</wmb:bitstream>
</wmb:bitstreamData>
</wmb:event>
Bei der Ausgabe eines Ereignisses werden die Felder im Ereignis anhand der Informationen, die durch die Überwachungseigenschaften des Nachrichtenflusses oder durch einen konfigurierbaren Service für ein Überwachungsprofil (falls für den Nachrichtenfluss angewendet) bereitgestellt werden, erstellt. Jedes Ereignisfeld, für das nicht explizit ein Wert angegeben ist, erhält einen Standardwert (siehe folgende Tabelle).
Feld im Ereignis | Standardwert |
---|---|
eventData/@wmb:eventSourceAddress | Kein Standardwert; diese Information müssen Sie angeben. |
eventData/@wmb:eventSchemaVersion | 6.1.0.3 |
eventData/@wmb:productVersion | 7000 |
eventData/eventIdentity/@wmb:eventName | Der Standardwert wird aus '@eventSourceAddress' abgeleitet. |
eventData/eventSequence/@counter | Der Ereigniszähler wird für das erste ausgegebene Ereignis auf 1 gesetzt und danach für jedes weitere Ereignis um 1 erhöht. |
eventData/eventSequence/@creationTime | Datum und Uhrzeit der Erstellung des Ereignisses |
eventData/eventCorrelation/@localTransactionId | Eine generierte eindeutige Kennung |
eventData/eventCorrelation/@parentTransactionId | Kein Standardwert. Eine leere Zeichenfolge, wenn kein Wert explizit angegeben wird. |
eventData/eventCorrelation/@globalTransactionId | Kein Standardwert. Eine leere Zeichenfolge, wenn kein Wert explizit angegeben wird. |
messageFlowData/broker/@name | Den Namen des Brokers |
messageFlowData/broker/@UUID | UUID des Brokers |
messageFlowData/executionGroup/@name | Name der Ausführungsgruppe |
messageFlowData/executionGroup/@UUID | UUID der Ausführungsgruppe |
messageFlowData/messageFlow/@name | Name des Nachrichtenflusses |
messageFlowData/messageFlow/@UUID | UUID des Nachrichtenflusses |
messageFlowData/messageFlow/@uniqueFlowName | Eine Zeichenfolge aus den Namen des Brokers, der Ausführungsgruppe und des Nachrichtenflusses in folgendem Format: Brokername.Ausführungsgruppenname.Nachrichtenflussname |
messageFlowData/messageFlow/@threadId | Thread-ID des Nachrichtenflusses. Das Format ist von der Plattform abhängig. |
messageFlowData/node/@nodeLabel | Die Bezeichnung des Knotens, der das Ereignis ausgegeben hat. |
messageFlowData/node/@nodeType | Der Typ des Knotens, der das Ereignis ausgegeben hat. |
messageFlowData/node/@nodeDetail | Optionale Informationen zum Knoten
|
applicationData | Kein Standardwert; wird übergangen, wenn kein Wert angegeben ist. |
bitstreamData | Kein Standardwert; wird übergangen, wenn kein Wert angegeben ist. |