• 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         
  • 相关阅读:
    Python 进阶_OOP 面向对象编程_实例属性和方法
    Python 进阶_OOP 面向对象编程_实例属性和方法
    Python 进阶_OOP 面向对象编程_类属性和方法
    Python 进阶_OOP 面向对象编程_类属性和方法
    Python 进阶_OOP 面向对象编程_类属性和方法
    Python 进阶_OOP 面向对象编程_类和继承
    pytest十四:doctest 框架
    pytest十三:配置文件 pytest.ini
    pytest十二:cmd命令行参数
    pytest十一:函数传参和 firture 传参数 request
  • 原文地址:https://www.cnblogs.com/wuyisky/p/WebSphere_MQ.html
Copyright © 2020-2023  润新知