Skip to content

MQ Discovery

Mat Davis edited this page Nov 19, 2019 · 2 revisions

Jump to troubleshooting

ASD Discovery Fail with "version command did not run"

As of TADDM 7.3.0.1 (May 2015): You could see ASD discovery of MQ fail with "version command did not run". If you extract the ASD package you will see one or more directories named out1, out2, out3, etc that represent different MQ installations found. If any of those installations are bad or corrupt (e.g. mqm.ini still points to an install being there but it doesn't work) then the entire sensor will fail. You must contact your MQ administrator and let them know of the bad MQ install so they can either delete the installation or correct it. To work-around this issue you can repackage the ASD package and delete the bad output directory, making sure to rename the output directories starting with out1.

APAR IV73347 resolves this issue. With this APAR applied, bad or corrupt installations will be skipped. The warning given is !MQServerAgent.W.8!.

Setting the MQ installation path for ASD for TADDM pre-7.3

This only applies to pre-7.3 versions of TADDM. The installationpath property has been removed from TADDM 7.3 with the addition of multi-installation discovery support for MQ. The sensor checks /etc/opt/mqm/mqinst.ini.

By default, asynchronous discovery of MQ assumes that the installation path is set to the default of /usr/mqm for AIX and /opt/mqm for other non-Windows platforms. However, if a non-default installation path is used for MQ all kinds of errors will occur during ASD.

A slightly trickier situation occurs where there is an installation of MQ in the default path but that installation is not active or being used. In this case, the scripts will think that it is configured correctly, and some commands will be successful, but any information gleaned by connecting to MQ will fail. This might leave you with partial data for MQ.

The solution is to set the MQ installation path in collation.properties and then regenerate the ASD packages. Use the following property:

com.collation.discover.agent.MQServerAgent.installationpath=/usr/mqm75

Technically, this property can be scope restricted but that will only apply to discovery of MQ using the legacy/traditional SSH-based sensors. So essentially, you need to have one globally defined MQ installation path for ASD to work everywhere.

Discovering Multiple Installations with ASD

The following are the supported multiple installation environments for MQ and thus the only supported configurations that TADDM 7.3 will discover (as of 4/27/2015).

Multiple installations of MQ 7.0.1.6 (installed first) and 7.1 or/and 7.5 (any order of installation).
or Multiple installations of MQ 7.1.
or Multiple installations of MQ 7.5.
or Multiple installations of MQ 7.1 and 7.5 (any order of installation)

MQ listener in stopped state or incorrectly configured wreaks havoc for ASD

The MQ sensor for ASD will display all the listener information for a queue manager. In the output, each listener reports it's IPADDR. Ironically, this value can be set to a host name. If that host name does not resolve to an IP address, the TADDM sensor consuming the ASD output package will choke. It may cause a storage error or it may just cause a random error while attempting to read the output files. The lesson is to make sure that all of the listeners defined for the MQ queue managers are all valid, active, and their host name is resolvable.

Extract the ASD output package and drill down into the MQ sensor output directory. Open output.txt and you will see a section similar to the following.

echo "DISPLAY LISTENER (*) BACKLOG ADAPTER COMMANDS CONTROL NTBNAMES SESSIONS SOCKET IPADDR PORT" | runmqsc ABCD_TXP
5724-H72 (C) Copyright IBM Corp. 1994, 2009.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager ABCD_TXP.
 
 
     1 : DISPLAY LISTENER (*) BACKLOG ADAPTER COMMANDS CONTROL NTBNAMES SESSIONS SOCKET IPADDR PORT
AMQ8630: Display listener information details.
   LISTENER(SYSTEM.DEFAULT.LISTENER.TCP)   CONTROL(MANUAL)
   PORT(0)                                 IPADDR( )
   BACKLOG(0)
AMQ8630: Display listener information details.
   LISTENER(ABCD_TXP.TCP.1414)             CONTROL(QMGR)
   PORT(1414)                              IPADDR(kristina.ibm.com)
   BACKLOG(0)
AMQ8630: Display listener information details.
   LISTENER(ABCD_TXP.TCP2.1414)            CONTROL(QMGR)
   PORT(1414)                              IPADDR(kristinaoob.ibm.com)
   BACKLOG(0)
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.

Notice that the output for the first listener contains "IPADDR( )". This is the configuration that is causing the problem. Contact the MQ administrator and alert them of the mis-configured listener. Once corrected, run the ASD again.

As a work-around you should be able to remove the section that contains the mis-configured listener and re-discover ASD package.

Troubleshooting

Behavior: MQ sensor experiences a storage error or error "!MQServerAgent.E.7!" when running with ASD.
Advice: See the section above concerning an erroneously defined MQ listener and make sure all listeners defined for the MQ queue manager are valid, active and that their host name is resolvable.

Behavior: Weird output or core dumps reported when running with ASD.
Advice: Make sure that you are targeting the correct installation path for MQ. See section above for setting this value.

Behavior: Warning message "!MQServerAgent.W.8!" shown. Advice: This means that discovery of MQ skipped an MQ installation found in mq.ini where the version command failed. This might mean that the mq.ini file needs updated to remove the bad queue installations.

Clone this wiki locally