The monitoring event
You can configure IBM® App Connect Enterprise to emit a monitoring event (an XML document) when something interesting happens. Events are typically emitted to support transaction monitoring, transaction auditing, and business process monitoring. By default, the event XML in IBM App Connect Enterprise v11 conforms to the monitoring event schema MonitoringEventV2.xsd. However, monitoring events can be configured to provide compatibility with the monitoring event schema from IBM Integration Bus Version 10.0, WMBEvent.xsd.
For more information about how to configure monitoring events to use MonitoringEventV2.xsd or WMBEvent.xsd, see Activating monitoring.
MonitoringEventV2 Format
The XML schema definition file is MonitoringEventV2.xsd.
To access the schema from the IBM App Connect Enterprise Toolkit, click . Select IBM supplied . Click Next, then select Create an XML file by importing an IBM supplied definition . Click Next, and then select IBM App Connect Enterprise Monitoring Event.
MonitoringEventV2 example event
<mon:event xmlns:mon="http://www.ibm.com/xmlns/monitoring/event/v2">
<mon:eventPointData>
<mon:eventData mon:productVersion="110010"
mon:profileVersion="11" mon:eventSourceAddress="HTTP Input.transaction.Start">
<mon:eventIdentity mon:eventName="HTTP Input.TransactionStart" />
<mon:eventSequence mon:creationTime="2020-07-20T16:20:21.776758Z"
mon:counter="1" />
<mon:eventCorrelation mon:localTransactionId="40ddc412-f102-4840-a212-8b793d12b6bf-1"
mon:parentTransactionId="" mon:globalTransactionId="" />
</mon:eventData>
<mon:messageFlowData>
<mon:integrationServer mon:name="110010"
mon:hostName="DESKTOP-7Q9JIP6" />
<mon:application mon:name="Transformation_Map" />
<mon:messageFlow mon:uniqueFlowName="110010.Transformation_Map.Transformation_Map"
mon:name="Transformation_Map" mon:threadId="12244" />
<mon:node mon:nodeLabel="HTTP Input" mon:nodeType="ComIbmWSInputNode" />
</mon:messageFlowData>
</mon:eventPointData>
<mon:bitstreamData>
<mon:bitstream mon:serializationEncoding="base64Binary"
mon:dataCCSID="1208" mon:dataEncoding="546">UE9TVCBodHRwOi8vbG9jYWxob3N0Ojc4MDAvVHJhbnNmb3JtYXRpb25fTWFwIEhUVFAvMS4xDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgNClVzZXItQWdlbnQ6IEphdmEvMS44LjBfMjUxDQpIb3N0OiBsb2NhbGhvc3Q6NzgwMA0KQWNjZXB0OiB0ZXh0L2h0bWwsIGltYWdlL2dpZiwgaW1hZ2UvanBlZywgKjsgcT0uMiwgKi8qOyBxPS4yDQpDb25uZWN0aW9uOiBrZWVwLWFsaXZlDQpDb250ZW50LUxlbmd0aDogNjgwDQpYLU9yaWdpbmFsLUhUVFAtQ29tbWFuZDogUE9TVCBodHRwOi8vbG9jYWxob3N0Ojc4MDAvVHJhbnNmb3JtYXRpb25fTWFwIEhUVFAvMS4xDQpYLVNlcnZlci1OYW1lOiBsb2NhbGhvc3QNClgtU2VydmVyLVBvcnQ6IDc4MDANClgtUmVtb3RlLUFkZHI6IDEyNy4wLjAuMQ0KWC1SZW1vdGUtSG9zdDogbG9jYWxob3N0DQpYLVNjaGVtZTogaHR0cA0KDQo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KPFNhbGVFbnZlbG9wZT4NCgk8SGVhZGVyPg0KCQk8U2FsZUxpc3RDb3VudD4xPC9TYWxlTGlzdENvdW50Pg0KCQk8VHJhbnNmb3JtYXRpb25UeXBlPnhzbDwvVHJhbnNmb3JtYXRpb25UeXBlPg0KCTwvSGVhZGVyPg0KCTxTYWxlTGlzdD4NCgkJPEludm9pY2U+DQoJCQk8SW5pdGlhbD5UPC9Jbml0aWFsPg0KCQkJPEluaXRpYWw+SjwvSW5pdGlhbD4NCgkJCTxTdXJuYW1lPkR1bm53aW48L1N1cm5hbWU+DQoJCQk8SXRlbT4NCgkJCQk8Q29kZT4wNDwvQ29kZT4NCgkJCQk8Q29kZT4wNTwvQ29kZT4NCgkJCQk8Q29kZT4wMTwvQ29kZT4NCgkJCQk8RGVzY3JpcHRpb24+VGhlIE9yaWdpbiBvZiBTcGVjaWVzPC9EZXNjcmlwdGlvbj4NCgkJCQk8Q2F0ZWdvcnk+Qm9va3MgYW5kIE1lZGlhPC9DYXRlZ29yeT4NCgkJCQk8UHJpY2U+MjIuMzQ8L1ByaWNlPg0KCQkJCTxRdWFudGl0eT4wMjwvUXVhbnRpdHk+DQoJCQk8L0l0ZW0+DQoJCQk8QmFsYW5jZT44MS44NDwvQmFsYW5jZT4NCgkJCTxDdXJyZW5jeT5FdXJvczwvQ3VycmVuY3k+DQoJCTwvSW52b2ljZT4NCgk8L1NhbGVMaXN0Pg0KCTxUcmFpbGVyPg0KCQk8Q29tcGxldGlvblRpbWU+MTIuMDAuMDA8L0NvbXBsZXRpb25UaW1lPg0KCTwvVHJhaWxlcj4NCjwvU2FsZUVudmVsb3BlPg==</mon:bitstream>
</mon:bitstreamData>
</mon:event>
WMB Format
The XML schema definition file is WMBEvent.xsd.
You can find the WMBEvent.xsd schema file in the default message catalog. To access the schema from the IBM App Connect Enterprise Toolkit, click . Select IBM supplied . Click Next, then select Create an XML file by importing an IBM supplied definition . Click Next, and then select IBM Integration Bus Monitoring Event.
WMB example event
<wmb:event
xmlns:wmb="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event">
<wmb:eventPointData>
<wmb:eventData wmb:productVersion="110010"
wmb:eventSchemaVersion="11" wmb:eventSourceAddress="HTTP Input.transaction.Start">
<wmb:eventIdentity wmb:eventName="HTTP Input.TransactionStart" />
<wmb:eventSequence wmb:creationTime="2020-07-20T16:15:24.728446Z"
wmb:counter="1" />
<wmb:eventCorrelation wmb:localTransactionId="c4b687e6-4f51-4f61-ae3b-92c3115e9e42-1"
wmb:parentTransactionId="" wmb:globalTransactionId="" />
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:name="integration_server" />
<wmb:executionGroup wmb:name="110010" />
<wmb:messageFlow
wmb:uniqueFlowName="integration_server.110010.Transformation_Map.Transformation_Map"
wmb:name="Transformation_Map" wmb:threadId="17376" />
<wmb:node wmb:nodeLabel="HTTP Input" wmb:nodeType="ComIbmWSInputNode" />
</wmb:messageFlowData>
</wmb:eventPointData>
<wmb:bitstreamData>
<wmb:bitstream wmb:encoding="base64Binary">UE9TVCBodHRwOi8vbG9jYWxob3N0Ojc4MDAvVHJhbnNmb3JtYXRpb25fTWFwIEhUVFAvMS4xDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgNClVzZXItQWdlbnQ6IEphdmEvMS44LjBfMjUxDQpIb3N0OiBsb2NhbGhvc3Q6NzgwMA0KQWNjZXB0OiB0ZXh0L2h0bWwsIGltYWdlL2dpZiwgaW1hZ2UvanBlZywgKjsgcT0uMiwgKi8qOyBxPS4yDQpDb25uZWN0aW9uOiBrZWVwLWFsaXZlDQpDb250ZW50LUxlbmd0aDogNjgwDQpYLU9yaWdpbmFsLUhUVFAtQ29tbWFuZDogUE9TVCBodHRwOi8vbG9jYWxob3N0Ojc4MDAvVHJhbnNmb3JtYXRpb25fTWFwIEhUVFAvMS4xDQpYLVNlcnZlci1OYW1lOiBsb2NhbGhvc3QNClgtU2VydmVyLVBvcnQ6IDc4MDANClgtUmVtb3RlLUFkZHI6IDEyNy4wLjAuMQ0KWC1SZW1vdGUtSG9zdDogbG9jYWxob3N0DQpYLVNjaGVtZTogaHR0cA0KDQo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KPFNhbGVFbnZlbG9wZT4NCgk8SGVhZGVyPg0KCQk8U2FsZUxpc3RDb3VudD4xPC9TYWxlTGlzdENvdW50Pg0KCQk8VHJhbnNmb3JtYXRpb25UeXBlPnhzbDwvVHJhbnNmb3JtYXRpb25UeXBlPg0KCTwvSGVhZGVyPg0KCTxTYWxlTGlzdD4NCgkJPEludm9pY2U+DQoJCQk8SW5pdGlhbD5UPC9Jbml0aWFsPg0KCQkJPEluaXRpYWw+SjwvSW5pdGlhbD4NCgkJCTxTdXJuYW1lPkR1bm53aW48L1N1cm5hbWU+DQoJCQk8SXRlbT4NCgkJCQk8Q29kZT4wNDwvQ29kZT4NCgkJCQk8Q29kZT4wNTwvQ29kZT4NCgkJCQk8Q29kZT4wMTwvQ29kZT4NCgkJCQk8RGVzY3JpcHRpb24+VGhlIE9yaWdpbiBvZiBTcGVjaWVzPC9EZXNjcmlwdGlvbj4NCgkJCQk8Q2F0ZWdvcnk+Qm9va3MgYW5kIE1lZGlhPC9DYXRlZ29yeT4NCgkJCQk8UHJpY2U+MjIuMzQ8L1ByaWNlPg0KCQkJCTxRdWFudGl0eT4wMjwvUXVhbnRpdHk+DQoJCQk8L0l0ZW0+DQoJCQk8QmFsYW5jZT44MS44NDwvQmFsYW5jZT4NCgkJCTxDdXJyZW5jeT5FdXJvczwvQ3VycmVuY3k+DQoJCTwvSW52b2ljZT4NCgk8L1NhbGVMaXN0Pg0KCTxUcmFpbGVyPg0KCQk8Q29tcGxldGlvblRpbWU+MTIuMDAuMDA8L0NvbXBsZXRpb25UaW1lPg0KCTwvVHJhaWxlcj4NCjwvU2FsZUVudmVsb3BlPg==</wmb:bitstream>
</wmb:bitstreamData>
</wmb:event>
- If the MQSI_EVENTMON_USE_OPTIONAL_WMB_ATTRS is not set, the
messageFlowData might look similar to this:
<wmb:messageFlowData> <wmb:broker wmb:name="EVENT_TEST" /> <wmb:executionGroup wmb:name="default" /> <wmb:messageFlow wmb:uniqueFlowName="EVENT_TEST.default.httpEcho.httpEcho" wmb:name="httpEcho" wmb:threadId="1823762" /> <wmb:node wmb:nodeLabel="HTTP Input" wmb:nodeType="ComIbmWSInputNode" /> </wmb:messageFlowData>
- If you set the MQSI_EVENTMON_USE_OPTIONAL_WMB_ATTRS=1, the
messageFlowData includes the UUID fields, for
example:
<wmb:messageFlowData> <wmb:broker wmb:name="EVENT_TEST" wmb:UUID="00000000-0000-0000-0000-000000000000" /> <wmb:executionGroup wmb:name="default" wmb:UUID="00000000-0000-0000-0000-000000000000" /> <wmb:messageFlow wmb:uniqueFlowName="EVENT_TEST.default.httpEcho.httpEcho" wmb:name="httpEcho" wmb:UUID="00000000-0000-0000-0000-000000000000" wmb:threadId="1824822" /> <wmb:node wmb:nodeLabel="HTTP Input" wmb:nodeType="ComIbmWSInputNode" /> </wmb:messageFlowData>
- Source of the event
- Name of the event
- Creation time and sequence number
- Correlation ID for events that are emitted by the same transaction or unit of work.
- Details of the message flow
- Application data extracted from the message.
- Part or all of the message bit stream. All nodes can produce bit streams, which can be included in monitoring events.
- The source of the event
- The content of the event
Sequence number
To enable software that processes events, such as WebSphere® Business Monitor, to sequence them correctly, both an ISO 8601 timestamp and a counter attribute are produced. The counter attribute is in the EventSequence element of the monitoring event. This counter starts at 1 for the first event that is produced by the processing of a message (normally the transaction.Start event) and is incremented for each subsequent event produced. It is reset to 1 at the start of the next message. The creation time and counter are always produced on all monitoring events. The software that processes the events can choose which field, or a combination of the two, to use to sequence the events.
If a message is processed successfully, the monitoring events that are generated have a contiguous, incrementing set of counter values. The value starts at 1 and is assigned at the time when the event is created. If a message fails and is rolled back, gaps can occur in the counter sequence. The missing values are the values that were used for events that were produced as part of the message flow unit of work that was rolled back.
- Sequence 1. The transaction start event.
- Sequence 2, 3, 4. Events in the message flow unit of work.
- Sequence 5. The independent unit of work.
- Sequence 6. An event outside of a unit of work.
- Sequence 7. An event in the message flow unit of work.
- Sequence 8. An event outside of a unit of work.
- The flow then fails and is rolled back.
- Sequence 9. The transaction rollback event in the independent unit of work.
Default content of monitoring events
Field in event | Default value MonitoringEventV2 | Default Value WMB |
---|---|---|
bitstreamData.bitstream@dataCCSID | The original CCSID of the message data provided in the bitstream | Not applicable |
bitstreamData.bitstream@dataEncoding | The original encoding of the message data provided in the bitstream | Not applicable |
eventData/@wmb: eventSourceAddress | No default; you must provide this information. | No default; you must provide this information. |
eventData/@wmb: eventSchemaVersion | Not applicable | 6.1.0.3 |
eventData/@wmb:productVersion | 7000 | |
eventData/eventIdentity/@wmb:eventName | The default is derived from @eventSourceAddress. | The default is derived from @eventSourceAddress. |
eventData/eventSequence/@counter | The counter is set to 1 for first event that is emitted and increased by 1 for each subsequent event. | The counter is set to 1 for first event that is emitted and increased by 1 for each subsequent event. |
eventData/eventSequence/@creationTime | The date and time when the event was created. | The date and time when the event was created. |
eventData/eventCorrelation/@localTransactionId | A generated unique identifier. This identifier is not generated if only transaction rollback or end events, or both, are configured, unless a transaction start event is configured as well. | A generated unique identifier. This identifier is not generated if only transaction rollback or end events, or both, are configured, unless a transaction start event is configured as well. |
eventData/eventCorrelation/@parentTransactionId | No default. Unless you set this value, an empty string is used. | No default. Unless you set this value, an empty string is used. |
eventData/eventCorrelation/@globalTransactionId | No default. Unless you set this value, an empty string is used. | No default. Unless you set this value, an empty string is used. |
messageFlowData/@application | Application name | Not applicable |
messageFlowData/@library | Library name | Not applicable |
messageFlowData/broker/@name | Not applicable. | The name of the integration node. |
messageFlowData/executionGroup/@name | Not applicable. | The name of the integration server. |
messageFlowData/integrationNode/@name | The name of the integration node. | Not applicable. |
messageFlowData/integrationServer | The name of the integration server. | Not applicable. |
messageFlowData/messageFlow/@name | The name of the message flow. | The name of the message flow. |
messageFlowData/messageFlow/@uniqueFlowName | A string composed of the names of the integration node, integration server, and
flow in the form: integrationNodeName.integrationServerName.application_name.flow_name |
A string composed of the names of the integration node, integration server, and
flow in the form: integrationNodeName.integrationServerName.application_name.flow_name |
messageFlowData/messageFlow/@threadId | The thread ID of the message flow. The format depends on the operating system. | The thread ID of the message flow. The format depends on the operating system. |
messageFlowData/node/@nodeLabel | The label of the node that emitted the event. | The label of the node that emitted the event. |
messageFlowData/node/@nodeType | The type of the node that emitted the event. | The type of the node that emitted the event. |
messageFlowData/node/@nodeDetail | Optional information about the node. | Optional information about the node. |
applicationData | No default; omitted if not provided. | No default; omitted if not provided. |
bitstreamData | No default; omitted if not provided. | No default; omitted if not provided. |