WebSphere MQ入门教程(27):MQ死信队列、配置、跟踪

8.2死信队列

  出于某种原因无法发送的消息都被放置在死信队列。您可以通过 MQSC 命令 DISPLAY QUEUE 来检查队列是否包含消息。如果队列包含消息,则使用所提供的浏览样本应用程序(amqsbcg)来浏览队列上的消息。样本应用程序将显示每个消息的消息描述符和消息上下文字段。您应该通过分析消息的死信头来确定消息被放在死信队列的原因。

  8.3配置文件和问题确定

  配置文件错误通常找不到队列管理器,和导致队列管理器不可用。确保配置文件存在,并且 WebSphere MQ 配置文件必须和队列管理器和日志目录对应。 在 Windows 注册表中的错误是在启动队列管理器时,通过消息通知的。

  8.4跟踪

  本节描述了如何产生WebSphere MQ跟踪信息。

  8.4.1WebSphere MQ Windows的跟踪

  在 WebSphere MQ Windows 版中,您可以使用 strmqtrc 控制命令启用或修改跟踪;使用 endmqtrc 控制命令停止跟踪。您还可以使用 WebSphere MQ 服务管理单元启动和停止跟踪。

  8.4.1.1跟踪的选项

  使用 -t 和 -x 选项控制跟踪信息量的详细程度。缺省情况下,启用所有跟踪信息。-x 选项指定不需要跟踪的信息。
  例如,如果您仅跟踪队列管理器 QM1在通信网络上流动的数据,则使用:

  strmqtrc -m QM1 -x all -t comms

  8.4.1.2跟踪文件

  在安装过程期间,您可以选择跟踪文件的存放路径。跟踪文件一般放置在目录 \<mqmwork>\errors 中,其中 <mqmwork> 是WebSphere MQ 数据文件的安装目录。

  跟踪文件名的格式如下:

   AMQppppp.TRC

   其中 ppppp 是产生跟踪的进程的进程标识(PID)。
   注:
   1.进程标识号的数字位数不是固定的。
   2.每个被跟踪的进程都有一个跟踪文件。

   8.4.1.3跟踪数据的示例

   下图显示了WebSphere MQ Windows版的跟踪数据:
   Process : C:\Program Files\IBM\WebSphere MQ\bin\amqxssvn.exe
   Version : 530 Level : p000-L020213
   Date : 02/25/02  Time : 16:35:47
 
Counter  TimeStamp       Process.Thread    Data
============================================================
 
0000062F 16:35:47.348386 6278.1       --{  InitProcessInitialisation
00000630 16:35:47.348455 6278.1       ---{  xcsCreateNTSecurityAtts
00000631 16:35:47.348516 6278.1       ----{  xcsRequestThreadMutexSem
00000632 16:35:47.348583 6278.1       ----}  xcsRequestThreadMutexSem (rc=OK)
00000633 16:35:47.348639 6278.1       ----{  xcsInitGlobalSecurityData
00000634 16:35:47.349111 6278.1       ----}  xcsInitGlobalSecurityData (rc=OK)
00000635 16:35:47.349239 6278.1       ----{  xcsReleaseThreadMutexSem
00000636 16:35:47.349261 6278.1       ----}  xcsReleaseThreadMutexSem (rc=OK)
00000637 16:35:47.349275 6278.1       ---}  xcsCreateNTSecurityAtts (rc=OK)
00000638 16:35:47.349303 6278.1       ---{  xcsReleaseThreadMutexSem
00000639 16:35:47.349319 6278.1       ---}  xcsReleaseThreadMutexSem (rc=OK)
0000063A 16:35:47.349344 6278.1       --}  InitProcessInitialisation (rc=OK)
0000063B 16:35:47.349359 6278.1       --{  xcsCreateThreadMutexSem
0000063C 16:35:47.349395 6278.1       --}  xcsCreateThreadMutexSem (rc=OK)
0000063D 16:35:47.349872 6278.1       --{  xcsProgramInit
0000063E 16:35:47.349900 6278.1       --}  xcsProgramInit (rc=OK)
0000063F 16:35:47.350027 6278.1       --{  xcsInitialize
00000640 16:35:47.350048 6278.1       ---{  xcsRequestThreadMutexSem
00000641 16:35:47.350065 6278.1       ---}  xcsRequestThreadMutexSem (rc=OK)
00000642 16:35:47.350079 6278.1       ---{  xihCheckThreadList
00000643 16:35:47.350101 6278.1       ---}  xihCheckThreadList (rc=OK)
00000644 16:35:47.350115 6278.1       ---{  InitPrivateServices
00000645 16:35:47.350165 6278.1       attributes 32768
00000646 16:35:47.350204 6278.1       ----{  xcsCreateThreadMutexSem
00000647 16:35:47.350233 6278.1       ----}  xcsCreateThreadMutexSem (rc=OK)
00000648 16:35:47.350255 6278.1       pid MQ(6) system(6278)
00000649 16:35:47.350337 6278.1       ---}  InitPrivateServices (rc=OK)
0000064A 16:35:47.350360 6278.1       --{  xxxInitialize
0000064B 16:35:47.350977 6278.1       ---{  xcsGetMem


   8.4.2WebSphere MQ AIX的跟踪

   WebSphere MQ AIX 使用AIX系统标准跟踪。跟踪分为两步:
   1.采集数据 。
   2.格式化结果数据。

   WebSphere MQ 使用两个跟踪 hook 标识:X'30D' 和X'30E' 。

   跟踪提供了执行跟踪的详细信息来帮助您分析问题。跟踪产生的文件可能非常大,所以合理地设置跟踪。例如,您可以通过时间和组件来限定跟踪。
   有两种运行跟踪的方法:
   1.交互地。
   以下命令是对程序 myprog 运行了交互式跟踪并结束跟踪。

trace -j30D,30E -o trace.file
->!myprog
->q

   2.异步地。

   以下命令对程序 myprog运行了异步跟踪和结束跟踪。

trace -a -j30D,30E -o trace.file
myprog
trcstop

   您可以用以下命令格式化跟踪文件:

trcrpt -t /usr/mqm/lib/amqtrc.fmt trace.file > report.file

   report.file 是存放格式化的跟踪输出的文件名。
 
   注:
   当跟踪是活动的,将跟踪所有的WebSphere MQ 活动。

   8.4.2.1跟踪选项

   可使用环境变量 MQS_TRACE_OPTIONS来分别激活高级详细信息和参数跟踪的功能。下表定义了MQS_TRACE_OPTIONS的各种配置的跟踪行为。

   表,MQS_TRACE_OPTIONS 设置

MQS_TRACE_OPTIONS

跟踪信息

取消设置(缺省值)

缺省跟踪(除高级详细信息之外的所有跟踪)

0

没有WebSphere MQ跟踪

262148

入口,出口和参数跟踪

786436

入口,出口、参数和高级详细信息跟踪

4980740

入口,出口、参数、高级详细信息和SSL跟踪

3407871

不带参数跟踪的缺省跟踪

3670015

缺省跟踪,包含参数跟踪

7864319

缺省跟踪,包含参数跟踪和SSL跟踪

4194303

所有跟踪,包含高级详细信息跟踪

 
   注:
   1.    最好需要在技术支持人员的指导下,设置MQS_TRACE_OPTIONS环境变量。
   2.    通常在启动队列管理器之前设置MQS_TRACE_OPTIONS。
   3.    在跟踪开始前设置 MQS_TRACE_OPTIONS。

   8.4.2.2 SSL 跟踪

   如果您请求 SSL 跟踪,请注意以下内容:
   •    SSL 跟踪是写到目录 /var/mqm/trace 的。
   •    SSL 跟踪文件是 AMQ.SSL.TRC 和 AMQ.SSL.TRC.1。
   •    您无法格式化 SSL 跟踪文件;将它们原封不动地发给IBM 技术支持中心。

   8.4.2.3跟踪数据的示例

   下图显示了WebSphere MQ AIX跟踪的数据:

ID     ELAPSED_SEC     DELTA_MSEC   APPL    SYSCALL KERNEL  INTERRUPT
 
30D    0.000000000       0.000000   MQS FNC Entry. 71540.1 zcpSendOnPipe
30E    0.000000038       0.000038   Msg Unencumbered (T/F)(0)
30D    0.000000176       0.000138   MQS FNC Exit............. 51604.55
                                    aqhCheckMsgUnencumbered rc=00000000
30E    0.000000418       0.000242   aqhCheckMsgChains : internal retcode
                                       208007d3
                                    
30D    0.000000516       0.000098   MQS FNC Entry.. 71540.14 xcsWaitEventSem
30E    0.000000590       0.000074   MessageSent (24 bytes)
30E    0.000000847       0.000257   aqhCheckMsgChains : internal retcode
                                       208007d3
                                    
30E    0.000000936       0.000089   hev=1::0::0-307724 TimeOut(-1)
30E    0.000001173       0.000237   aqhCheckMsgChains : internal retcode
                                       208007d3
                                    
30D    0.000001313       0.000140   MQS FNC Entry............ 51604.55 
                                    aqtIdxToSpcFn
30D    0.000001395       0.000082   MQS FNC Exit............. 51604.55
                                    aqtIdxToSpcFn rc=00000000
30D    0.000001439       0.000044   MQS FNC Entry........ 36124.51
                                    xcsCheckProcess
30D    0.000001501       0.000062   MQS FNC Entry............ 51604.55
                                    aqhCheckMsgUnencumbered
30E    0.000001645       0.000144   MQS Data from zcpSendOnPipe Length=0018                                       
                                        5A525354 000007E5 00000000 00000000
                                        ZRST 00000000 00000000  
30E    0.000001765       0.000120   pBCrsr (0)
30D    0.000001907       0.000142   MQS FNC Entry............. 51604.55
                                    aqhInTrans
30D    0.000001997       0.000090   MQS FNC Exit.............. 51604.55
                                    aqhInTrans rc=00000000
30D    0.000002025       0.000028   MQS FNC Entry.. 71540.1 xcsResetEventSem
30E    0.000002243       0.000218   Msg Unencumbered (T/F)(0)
30D    0.000002363       0.000120   MQS FNC Exit............. 51604.55
                                    aqhCheckMsgUnencumbered rc=00000000
30E    0.000002392       0.000029   hev=1::0::0-305876
30D    0.000002522       0.000130   MQS FNC Entry... 71540.14 xlsLockEvent
30E    0.000002630       0.000108   aqhCheckMsgChains : internal retcode
                                       208007d3         
原文地址:https://www.cnblogs.com/wuyisky/p/WebSphere_MQ.html