I got it working. My infrastructure definitions were incomplete. The topic string was correct.
Interesting that the trace showed the event as being emitted, even though the infrastructure was unable to pick up the message and forward it to the defined queue.
Thanks for your help.
Original Message:
Sent: Thu June 27, 2024 06:43 AM
From: uvaise odam
Subject: Topic string for event monitoring using an independent Integration Server
Hi Peter,
Please check you have below configurations in place.
MQ Configurations:
- Local queue for receiving the message
- Topic object with correct Topic string (as I have given in my previous reply)
- Subscription object mapped to above topic object and local queue is assigned in "Destination name" of subscription object
- Server connection channel (default or user-defined)
App Connect Configurations in server.conf.yaml:
- Enable BusinessEvents
BusinessEvents: # Monitoring events MQ: policy: '{MQEventLogPolicy}:MQCCDT' # Specify a {policy project}:policy if not using 'defaultQueueManager' enabled: true # Set true or false, default false format: '' # Set string or none outputFormat: 'json' # Set comma separated list of one or more of : json,xml. Defaults to 'xml' publishRetryInterval: 0 # Set the retry interval (in milliseconds), to pause all publications and retry, when publication failures are causing serious delay to the transaction.
2. Enable MonitoringEvents
Monitoring: MessageFlow: publicationOn: 'active' # choose 1 of : active|inactive, default inactive # Ensure Events.BusinessEvents.MQ|MQTT is set eventFormat: 'MonitoringEventV2' # When BusinessEvents.-.outputFormat is xml set MonitoringEventV2 or WMB, default MonitoringEventV2
3. Optional - Verify MQ Connection details in Policy project
4. Event configured on the nodes such as HTTP Input node, ESQL node etc
5. Restart the integration server (independent IS)
It should work if you have all above configurations.
Thanks
------------------------------
uvaise odam
Original Message:
Sent: Thu June 27, 2024 04:53 AM
From: Peter Von Hirschfeld
Subject: Topic string for event monitoring using an independent Integration Server
Hi Uvaise
Thanks for the suggestion.
I tried this, but I don't get any messages written to the queue defined in the subscription.
The trace just shows that the event is being emitted (see initial post above), but the Status field for that subscription still shows 0 message count:
------------------------------
Peter Von Hirschfeld
Original Message:
Sent: Wed June 26, 2024 06:59 AM
From: uvaise odam
Subject: Topic string for event monitoring using an independent Integration Server
Hi Peter,
Can you try this topic string
$SYS/Broker/+/MonitoringEvents/#
Thanks
------------------------------
uvaise odam
Original Message:
Sent: Fri June 14, 2024 07:05 AM
From: Peter Von Hirschfeld
Subject: Topic string for event monitoring using an independent Integration Server
Can someone please post an example of a topic string that they have defined for configuring event monitoring for an independent IS.
I've tried various combinations based on the info given at https://www.ibm.com/docs/en/app-connect/12.0?topic=events-subscribing-event-message-topics:
but I can't get any messages sent to the queue defined in the topic.
The user trace shows that the msgs are definitely being emitted:
2024-06-14 10:09:42.614584 34896 UserTrace BIP4074I: The event filter on the event emitted by event source 'KafkaProducer.terminal.in' in flow 'xxx' has been evaluated and returned 'TRUE'. The query text was 'true()'.
The event filter, which controls whether an event is emitted, has been evaluated for event source 'KafkaProducer.terminal.in' in flow 'xxx'.
The result of the evaluation was 'TRUE'.
The query text evaluated was 'true()'.
No action is required. This message is for information.
2024-06-14 10:09:42.614844 34896 UserTrace BIP3919I: Message flow 'xxx' emitted a monitoring event of type 'KafkaProducer.InTerminal' from node 'KafkaProducer'. The message was not coordinated with any unit of work.
The message flow emitted a monitoring event that is immediately available to the monitoring application, even if a long-running unit of work is in progress.
No action is required.
I've tried:
$SYS/Broker/integration_server/Monitoring/+/+/+
$SYS/Broker/integration_server/Monitoring/#/#/#
$SYS/Broker/integration_server/Monitoring/TEST_SERVER/#
/integration_server/Monitoring/#/#/#
/integration_server/Monitoring/+/+/#
/integration_server/Monitoring/TEST_SERVER/#
topicRoot/integration_server/Monitoring/#/#/#
topicRoot/integration_server/Monitoring/+/+/+
topicRoot/integration_server/Monitoring/TEST_SERVER/#
------------------------------
Peter Von Hirschfeld
------------------------------