- 3 minutes to read

Troubleshooting the IBM MQ Monitoring Agent

If you have any issues that you can not solve, contact our Support or send us an email at support@nodinite.com.

MQRC_NOT_AUTHORIZED

When logging in to the IBM MQ Broker, the Nodinite IBM MQ Monitoring agent may receive an MQRC_NOT_AUTHORIZED error. This error is displayed in the Monitor Views and is also present in the rolling Diagnostics file.

Please review the 2035 MQRC_NOT_AUTHORIZED when connecting to IBM MQ from WebSphere Application Server to find and apply the proper solution for your environment.

How do I add IBM MQ queue managers to monitoring with Nodinite?

Adding an arbitrary number of IBM MQ queue managers for Nodinite to monitor is a straightforward process and requires only proper access rights. Simply follow the steps detailed in the Configuration user guide.

You must be part of the Nodinite Administrators role.

IT29139: PCF response messages are written to the dead letter queue when .NET application uses PCF commands.

The monitoring agent sends PCF request messages and due to a bug in IBM MQ, you might need to apply a fix pack AND add an environment variable to the host with the agent.

Please read more here: https://www.ibm.com/support/pages/apar/IT29139

  1. Apply the fix pack if it is required
  2. If you have the fix pack, or another version of the IBM MQ Server, create a new Environment variable MQ_ENABLE_STRICT_PCF_RESPONSE_CHECKING.
  3. Set the value to true (or any value according to the article)
  4. Restart the agent

Temporary AMQ.* queues

If you have not excluded SYSTEM.* using the checkbox "Filter System Queues, Topics, Listeners and Channels", vast amounts of temporary queues can be created by the Queue Manager.

You may have to remove these manually.

To avoid having these temporary queues created, either check the checkbox or remove most of the SYSTEM.* queues from the Monitoring. The problem occurs when the queue depth and the age of the first message are evaluated for certain SYSTEM.* queues.

Single Queue Example

The following RegEx removes all system queues but SYSTEM.DEAD.LETTER.QUEUE.

^(SYSTEM(?!\.DEAD\.LETTER\.QUEUE$))

Multiple Queues Example

The following RegEx removes all system queues but SYSTEM.DEAD.LETTER.QUEUE and queues starting with the name SYSTEM.MANAGED.DURABLE.

^(SYSTEM(?!\.DEAD\.LETTER\.QUEUE$)(?!\.MANAGED\.DURABLE\..*))

How do I specify which version of AMQMDNET.DLL to use?

We have no idea what run-time version you are using. You may need to adjust the %agent name%.exe.config file to specify the exact version to use.

  • Adjust the example with the proper folder and version in use in the target environment.
  • Restart the agent and review the diagnostics.log.json file for details.

Version example 8.0.0.5


<dependentAssembly>
    <assemblyIdentity name="amqmdnet" publicKeyToken="dd3cb1c9aae9ec97" culture="neutral" />
    <codeBase version="8.0.0.5" href="file:///C:\Program Files (x86)\IBM\WebSphere MQ\bin\amqmdnet.dll" />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.5" newVersion="8.0.0.5" />
</dependentAssembly>

Version example 9.1.0.7


<dependentAssembly>
    <assemblyIdentity name="amqmdnet" publicKeyToken="dd3cb1c9aae9ec97" culture="neutral" />
    <codeBase version="9.1.0.7" href="file:///C:\Program Files (x86)\IBM\WebSphere MQ\bin\amqmdnet.dll" />
    <bindingRedirect oldVersion="0.0.0.0-9.1.0.7" newVersion="9.1.0.7" />
</dependentAssembly>