IBM MQ extension

  • Latest Dynatrace
  • Concept
  • 4-min read
  • Published Jun 27, 2025

Monitor performance of your IBM MQ queue manager objects.

Overview

With the Extensions Framework 2.0 release of the IBM MQ extension, collect performance metrics from your queue managers running locally on your OneAgent host or remotely from your ActiveGates.

New metadata and metrics are included in this version.

Get an overview of your IBM MQ monitoring environment with the bundled Overview Dashboard.A Unified Analysis screen is included for Queue Manager Entities with contains all of the important Queue Manager information needed -- at a glance.Within the Queue Manager UA screen, all queues and channels belonging to the Queue Manager are listed.The Queue Manager UA screen also includes Topic, listener, and log sizing information.Logs and Events related to a the Queue Manager entity are also included in the Queue Manager UA screen, providing a comprehensive view of all happenings related to a Queue Manager.When using a local (OneAgent) deployment, the Queue Unified Analysis Screen shows the relationship with existing detected entities.The Unified Analysis screen for a Queue entity will show different information if the extension is deployed remotely.A UA screen is provided for Channel entities, showing important metric information for the selected Channel.
1 of 8Get an overview of your IBM MQ monitoring environment with the bundled Overview Dashboard.

Get started

Requirements:

OneAgent deployment: (For ActiveGate deployment, continue below)

  • OneAgent for Windows or Linux only.

  • OneAgent must be running and monitoring queue manager processes.

  • Dynatrace version 1.269+

  • IBM MQ 9.1+. IBM dropped support to 9.0.x in 2021.

  • IBM MQ Command server must be running on queue managers

  • MQ Libraries must be in PATH on Windows or LD_LIBRARY_PATH on Linux. User running extension must be able to find these libraries.

    Additional requirements for Linux systems:

  • User running the OneAgent (dtuser by default) must also have read access to the queue manager directories /var/mqm/qmgrs/<queue_manager> and read/write to log directories /var/mqm/log so that it can bind properly.

  • Ensure MQ libraries are accessible by dtuser or whichever user your OneAgent service is running under. Default location for these libraries is /opt/mqm/lib64

  • By default, IBM MQ installs an ldconfig file called /etc/ld.so.conf.d/mqm.conf that adds /usr/lib64 to the LD_LIBRARY_PATH. Make sure IBM MQ library symbolic links to /opt/mqm/lib64 are found in that path. If there is no reference in /usr/lib64 to /opt/mqm/lib64 libraries, you may have to create your own .conf file and place it in /etc/ld.so.conf.d/.

  • Using ldconfig will allow the MQ libraries to be loaded by default. To do this you can do the following:

    • Create a .conf file in /etc/ld.so.conf.d/ with any name. Example: ibmmq_ext.conf
    • Inside that file, enter the location for the IBM MQ libraries: /opt/mqm/lib64
    • Save the file
    • Reload ldconfig by running command: ldconfig

ActiveGate deployment:

  • ActiveGates on Windows or Linux
  • Dynatrace version 1.269+
  • IBM MQ 9.1+. IBM dropped support to 9.0.x since 2021.
  • IBM MQ Command server must be running on queue managers.
  • IBM MQ running on AIX, z/OS, Linux, Windows, zLinux, MQ Appliance are supported. While it may work on other OS, they may not be officially supported.
  • Server-connection channel to communicate with each queue manager. This is require for any Client connection to IBM MQ.
  • Firewall from ActiveGates to queue managers must be open. Queue manager could run on any port so ensure those ports are open from your ActiveGates. Consult with your MQ administrator to know those ports.

FAQ and Troubleshooting

  • How many DDUs will it consume per year?

The following is an approximation. Metrics change depending on type of objects. Some metrics are not available to all channels, some metrics are not available to all queues.

Assuming you get all metrics for all objects: ((10) + (Local queues * 16) + (Alias + Remote queues) * 2 + (Channels * 18) + (Listeners) + (Topics * 4)) * Queue managers * 525.6 = DDUs per year

For example:

1 Queue manager
400 Local queues
20 Alias and remote queues
50 Channels
1 Listener
50 Topics
( 10 + (400 * 16) + (20 * 2) + (50 * 18) + (1 * 1) + (50 * 4) ) * 1 * 525.6 =
(10 + 6400 + 40 + 900 + 1 + 200) * 525.6 = approximately 3.9M DDUs per year
  • I am not seeing all queue metrics

Some metrics depend on the type of queues. Other metrics depend on your queue manager configuration and if your user has enough permissions to collect them.

  • Are you missing Enqueue and Dequeue? Make sure your user has CHG permission on queues to reset statistics on queues. Only then you can receive Enqueue and Dequeue metrics.

  • Are you missing Oldest message and Last get/put? Make sure Monitoring statistics is enabled on your queue manager for all queues.

  • Are you looking at Alias or Remote queues? Only Locally defined queues have status metrics. Alias and Remote only have Inhibit GET/PUT metrics.

  • I keep getting Unauthorized errors but I know my user is correct

Check the AMQERR01.LOG on the queue manager itself. This log file will tell you what it tried to authenticate and what permissions you are missing. If you are unable to connect to your queue manager, make sure that either the user running the extension process has permissions to the queue manager, or ADOPTCTX and CHLAUTH is enabled so that it can authenticate the user and password combination passed in the MQCSP block.

  • I get a pymqe error saying libmqm_r.so not found

This means that the IBM MQ libraries were not found in the unix PATH. Make sure you follow the ldconfig step above under Local deployment

  • Other common errors and their meanings

MQRC_HOST_NOT_AVAILABLE: Queue manager is not reachable from your ActiveGate. This usually means a firewall rule is missing. Because a queue manager can run on a custom port, you must make sure that host:port is reachable from the ActiveGate running the extension.

MQRC_NO_MSG_AVAILABLE: It took too long to get a response back from your queue manager and the response was blank. This can happen if the MAX LENGTH size of your reply queue is not enough to fit the response payload. You can try increasing that value. It may also be caused because of a timeout or the queue manager did not respond in time.

MQRC_CONNECTION_BROKEN: The connection to the queue manager is severed either due to a network interruption or the queue manager closed it. Make sure your network performance is optimal. Also, if you are using SSL, make sure that you are not using an older TLS cipher that requires manual reset of TLS keys such as TLS 1.2 AES-GCM ciphers. Switch to a TLS 1.3 Cipher that has automatic TLS keys reset.

Related tags
ExtensionsExtensionsInfrastructure Observability