您的位置:首页 > 其它

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

2009-05-11 20:37 369 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: