Showing posts with label mqsichangeflowmonitoring. Show all posts
Showing posts with label mqsichangeflowmonitoring. Show all posts

(WMB) Event Monitoring

A message flow can be configured at node level to emit monitoring events. A monitoring event is represented as a XML document that conforms to the monitoring event schema. Each event always contains the following information:
  • Source of the event (eventSourceAddress)
  • Name of the event (eventName)
  • Creation time (creationTime)
  • Correlation ID for events emitted by the same transaction or unit of work (localTransactionId,parentTransactionId, and globalTransactionId)
  • Details of the message flow (messageFlowData)
Optionally, a monitoring event can also contain the following information:
  • Application data extracted from the message (applicationData)
  • Part or all of the message bit stream (bitstream)

Event types :

You can configure a message flow to emit two types of events: Transaction events and terminal events.
There are three types of transaction events: start, end, and rollback. The transaction events are emitted only from input nodes such as MQInput and HTTPInput.
Terminal events are emitted from any terminal of any node.

Event output :
The monitoring event feature leverages the publish/subscribe (pub/sub) mechanism of Message Broker. Event messages are published to the specific topics, which can be registered by subscribing applications. The form of the topic name is: $SYS/Broker/<brokerName>/Monitoring/<executionGroupName>/<flowName>
We can subscribe to these event by following ways :
Using rfhutil tool


Here 
Broker Name : MYBROK
Execution Group Name : MYEG
Flow Name : MYFLOW
Subscription Queue Name : SUB.EVENT

Using a Message Flow :
This can be done by posting a  subscription request  to SYSTEM.BROKER.CONTROL.QUEUE queue.

Following is the esql code to create subscription request :  
  
BEGIN
CALL CopyEntireMessage();
SET OutputRoot.MQRFH2.psc.Command = 'RegSub';
SET OutputRoot.MQRFH2.psc.Topic = '$SYS/Broker/MYBRK/Monitoring/MYEG/MYFLOW';
SET OutputRoot.MQRFH2.psc.QName = 'SUB.EVENT';
SET OutputRoot.MQRFH2.psc.QMgrName = 'QM';
DECLARE ptr REFERENCE TO OutputRoot.MQRFH2;
DETACH ptr;
ATTACH ptr TO OutputRoot.MQMD AS NEXTSIBLING;
RETURN TRUE;

Enabling/Disabling the event sources :
By default, all of the configured events in a message flow are enabled but we have to activate the events. We can enable or disable these events by issuing following command
mqsichangeflowmonitoring MYBRK -e MYEG -f MYFlow  -s "Event_Src_address1,"Event_Src_address2" -i enable/disable

Activating/Inactivating the events :
mqsichangeflowmonitoring MYBRK -e MYEG -f MYFlow -c active/inactive

To report what are all event sources has been activated :
mqsireportflowmonitoring MYBRK -e MYEG -f MYFlow -a

Monitoring in IIB