integrations

activity Tracker for IBM MQ

Author: Vasil Vasilev
March 18, 2024

You can save information about the connections, put, get operations, and messages sent to the Qmanager, and visualize the connectivity diagram for the selected period.

To do this, you have to:
- configure application activity trace: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=network-application-activity-trace
- install the latest version of midleoagent -> https://github.com/midleo/midleo-agents
- copy example mqat.ini from midleo server -> www/data/mqsc/mqat.ini   (there is an additional configuration for disable trace for mqscout client that makes backup of messages in case it is enabled and regularly get information about the running QM)
- enable tracking on the server:

cd /var/midleoagent

./magent.sh help
Usage:
- ./magent.sh addconf QMGR WebUser(Optional) WebPassword(Optional)
- ./magent.sh addmonq QMGR QUEUE TYPE_OF_MON THRESHOLD
- ./magent.sh delmonq QMGR QUEUE
- ./magent.sh enabletrackqm QMGR # Transfer the mqat.ini file to /var/mqm/qmgr/QMGR/ folder
- ./magent.sh disabletrackqm QMGR
- ./magent.sh addmonchl QMGR CHANNEL
- ./magent.sh delmonchl QMGR CHANNEL

Parameters:
 - TYPE_OF_MON: QAGE - monitor queue age, QFULL - monitor percentage of maxdepth/curdepth
 -   THRESHOLD: threshold in percent for QFULL/seconds for QAGE (more than this value will be taken in the report)

./magent.sh enabletrackqm VMQGW01
5724-H72 (C) Copyright IBM Corp. 1994, 2024.
Starting MQSC for queue manager VMQGW01.


     1 : ALTER QMGR ACTVTRC(ON)
AMQ8005I: IBM MQ queue manager changed.
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
VMQGW01 have been added

Now we can test by sending messages to local, remote, and alias queues to see the Graph if is correctly visualized.
In this example we have :

- TEST.VV.QL - local queue on VMQGW01
- TEST.VV.R - remote queue on VMQGW01 to VMQAPP
- TEST.VV.A - alias queue on VMQGW01 to TEST.VV.QL

mqm$ /opt/mqm/samp/bin/amqsput TEST.VV.QL VMQGW01
Sample AMQSPUT0 start
target queue is TEST.VV.QL
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
Sample AMQSPUT0 end
mqm:~$ /opt/mqm/samp/bin/amqsput TEST.VV.R VMQGW01
Sample AMQSPUT0 start
target queue is TEST.VV.R
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
Sample AMQSPUT0 end
mqm:~$ /opt/mqm/samp/bin/amqsput TEST.VV.A VMQGW01
Sample AMQSPUT0 start
target queue is TEST.VV.A
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
Sample AMQSPUT0 end

The cronjob is working every 5 minutes. It will write such information in the log:

cat /var/midleoagent/logs/midleoagent.log
2024-03-18 21:01:20:HTTPResponse:Object data for:TEST.VV.QL tracked.
2024-03-18 21:01:20:HTTPResponse:Object data for:TEST.VV.R tracked.
2024-03-18 21:01:21:HTTPResponse:Object data for:TEST.VV.A tracked.

Now we can check in the MQScout module via the Web portal of Middleware Admin:

MQScout -> Qmanager -> Tracker and select period:



You can filter by text in the message, MessageID, CorrelationID, QUEUE, Channel, Application name and all data that is shown in Properties:



or Message data:




If there is tracking data, a button Show Graph will be displayed.
You can click on it and then see the connections between the queues: