Troubleshooting
Problem
IBM MQ publish subscribe is not delivering messages properly or reporting a problem, and you need to collect MustGather data to find a solution.
Environment
These instructions apply only to IBM MQ V9.0 and V8.0, and WebSphere MQ V7.5, V7.1, V7.0 and V6.0 on AIX, HP-UX, Linux, Solaris and Windows, and to IBM MQ V9.0 and V8.0, and WebSphere MQ V7.1, V7.0 and V6.0 on IBM i. Refer to the IBM MQ Read First page for instructions on other operating systems:
Resolving The Problem
Please answer these questions about the problem and then follow the steps below:
- What publish subscribe problem did you observe on the system?
- What time did the publish subscribe problem start and when did it stop?
- Which specific topics and subscriber applications are involved in the problem?
Step 1: Generate Data
It is important to gather information from the system when the publish subscribe problem is happening in order to identify the cause:
- If the publish subscribe problem is affecting an MQ Java or JMS application, generate an MQ classes for Java trace or a Java Message Service trace, as appropriate. If your application is running under WebSphere Application Server, follow the trace instructions for that environment.
- Generate a trace of the queue manager when the publish subscribe problem occurs. If you are generating a Java or JMS trace, do this at the same time.
- On Linux and UNIX systems, save the output from the mqconfig command. If you are running IBM MQ V9.0 or V8.0, or WebSphere MQ V7.5.0.2 or later, or V7.1.0.3 or later, the mqconfig command is already available as part of the MQ server installation.
Step 2: Collect Data
- On UNIX and Linux, place the mqconfig data from Step 1 directly in the top-level MQ errors directory. Both the runmqras automation tool and the manual collection steps below collect files found there.
- Collect data automatically with the runmqras command if you are running IBM MQ V9.0 or 8.0, or WebSphere MQ V7.5, V7.1.0.1 or later, or V7.0.1.8 or later. Be sure to collect the runmqras defs, topic and trace sections, and to specify your PMR number:
- Alternatively, collect the MQ data manually.
- If your system has more than one MQ installation, use the setmqenv command to choose the one with the problem before proceeding:
Linux and UNIX
sh> . /path/to/mqm/bin/setmqenv -n InstallationXWindows
C:\> "C:\Program Files\IBM\MQ\bin\setmqenv" -n InstallationX - Record the MQ version and maintenance level.
- Record the operating system version and maintenance level.
- Save the MQ configuration information, for example registry keys and ini files.
- If your system has more than one MQ installation, record your MQ installation details:
Linux and UNIX
sh> dspmqinst > /tmp/dspmqinst.txtWindows
C:\> dspmqinst > %TEMP%/dspmqinst.txt - Record the MQ processes active on your system:
Linux and UNIX
sh> ps -ef | grep mq > /tmp/ps.txtWindows
C:\> TASKLIST /V > %TEMP%/tasklist.txtIBM i Command Line
===> WRKACTJOB SBS(QMQM)IBM i Qshell
===> ps -ef | grep mq > /tmp/ps.txt - On MQ V7.1 and later installations, use dmpmqcfg to record the queue manager configuration:
Linux and UNIX
sh> dmpmqcfg -m QMA > /tmp/QMA.config.txtWindows
C:\> dmpmqcfg -m QMA > %TEMP%\QMA.config.txtIBM i Qshell
===> /QSYS.LIB/QMQM.LIB/DMPMQCFG.PGM -m QMA > /tmp/QMA.config.txt - Otherwise, on MQ V7.0 and earlier installations, use runmqsc to record the queue manager configuration. If any command gives an error, carry on with the others:
DISPLAY QMGR ALL
DISPLAY Q(*) ALL
DISPLAY SUB(*) ALL
DISPLAY TOPIC(*) ALL
DISPLAY CHANNEL(*) ALL
DISPLAY SERVICE(*) ALL
DISPLAY PROCESS(*) ALL
DISPLAY LISTENER(*) ALL
DISPLAY NAMELIST(*) ALL - On all MQ installations, use runmqsc to record status information from the queue manager. If any command gives an error, carry on with the others:
DISPLAY PUBSUB ALL
DISPLAY QMSTATUS ALL
DISPLAY CHSTATUS(*) ALL
DISPLAY LSSTATUS(*) ALL
DISPLAY SVSTATUS(*) ALL
DISPLAY SBSTATUS(*) ALL
DISPLAY CONN(*) TYPE(*) ALL
DISPLAY QSTATUS(*) TYPE(QUEUE) ALL
DISPLAY QSTATUS(*) TYPE(HANDLE) ALL
DISPLAY TPSTATUS('#') TYPE(PUB) ALL
DISPLAY TPSTATUS('#') TYPE(SUB) ALL
DISPLAY TPSTATUS('#') TYPE(TOPIC) ALL - On MQ V7.0 and later installations running on Linux, UNIX and Windows, run the amqldmpa program against the queue manager to gather details about topics. The command must be run by an MQ administrator and the output file should be in a location which is writeable by the queue manager. For example:
Dumping topic information for queue manager QMA on Linux and UNIX
sh> amqldmpa -m QMA -c T -d 8 -f /tmp/QMA.amqldmpa.topic.txtDumping topic information for queue manager QMA on Windows
C:\> amqldmpa -m QMA -c T -d 8 -f %TEMP%\QMA.amqldmpa.topic.txtDumping topic information for queue manager QMA in the IBM i Qshell
===> /QSYS.LIB/QMQM.LIB/AMQLDMPA.PGM -m QMA -c T -d 8 -f /tmp/QMA.amqldmpa.topic.txt - On WebSphere MQ V6.0 installations, and on later version queue managers which have queued pubsub enabled, browse the publish subscribe system queues by using a program like the amqsbcg sample. For example:
Browsing pubsub system queues on queue manager QMA
amqsbcg SYSTEM.PENDING.DATA.QUEUE QMA > QMA.PENDING.DATA.browse.txt
amqsbcg SYSTEM.JMS.ND.SUBSCRIBER.QUEUE QMA > QMA.JMS.ND.SUB.browse.txt
amqsbcg SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE QMA > QMA.JMS.ND.CC.SUB.browse.txt
amqsbcg SYSTEM.JMS.D.SUBSCRIBER.QUEUE QMA > QMA.JMS.D.SUB.browse.txt
amqsbcg SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE QMA > QMA.JMS.D.CC.SUB.browse.txt - On WebSphere MQ V6.0 installations only, display the status of the publish subscribe broker. For example:
Displaying the broker status for queue manager QMA on Linux and UNIX
sh> dspmqbrk -m QMA > /tmp/QMA.dspmqbrk.txtDisplaying the broker status for queue manager QMA on Windows
C:\> dspmqbrk -m QMA > %TEMP%\QMA.dspmqbrk.txtDisplaying the broker status for queue manager QMA in the IBM i Qshell
===> /QSYS.LIB/QMQM.LIB/DSPMQBRK.PGM -m QMA > /tmp/QMA.dspmqbrk.txt - On WebSphere MQ V6.0 installations only, dump the subscription status for the queue manager. For example:
Dumping the subscription status for queue manager QMA on Linux and UNIX
sh> amqspsd -m QMA > /tmp/QMA.amqspsd.txtDisplaying the subscription status for queue manager QMA on Windows
C:\> amqspsd -m QMA > %TEMP%\QMA.amqspsd.txtDumping the subscription status for queue manager QMA in the IBM i Qshell
===> /QSYS.LIB/QMQM.LIB/AMQSPSD.PGM -m QMA > /tmp/QMA.amqspsd.txt - Manually package your files for IBM, including files containing the output from the commands listed in Step 1 and 2.
- If your system has more than one MQ installation, use the setmqenv command to choose the one with the problem before proceeding:
Collecting runmqras output from queue manager QMA
runmqras -section defs,topic,trace -qmlist QMA -pmrno 12345,67R,890
Step 3: Send Data to IBM
- Send your data to the IBM ECuRep repository by email to websphere_support@ecurep.ibm.com, by standard or secure HTTP or FTP. or by using the IBM Secure Diagnostic Data Upload Utility (SDDUU) Java application.
- While the data is transferring, send an email or use the IBM Service Request tool to update your PMR with your description of the problem and of the data you are sending.
- Contact your country representative if you need to speak to an IBM technical support representative, or in the US call 1-800-IBM-SERV. Refer to the IBM Software Support Handbook for more information on working with IBM.
A good description of the problem and the data is the most important information you can provide to IBM. Please do not send data without providing a description!
[{"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Problem Determination","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.0;8.0;7.5;7.1;7.0;6.0","Edition":"All Editions","Line of Business":{"code":"LOB45","label":"Automation"}}]Product Synonym
IBMMQ WebSphere MQ WMQ
Was this topic helpful?
Document Information
Modified date:
22 June 2018
UID
swg21568663