You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM MQ队列筛选、格式化及队列深度查询技术咨询

IBM MQ队列筛选、格式化及队列深度查询技术咨询

嘿,我来帮你搞定IBM MQ队列深度查询和输出优化的问题~ 你的基础查询思路是完全正确的,下面我会一步步拆解命令、解析原生输出,再给你一套能把输出整理得整整齐齐的优化方案。

一、基础队列深度查询命令

你使用的这条命令已经能精准查询匹配QE*规则的本地队列及其深度,我再帮你拆解下每个部分的作用:

echo DISPLAY QLOCAL(QE*) WHERE(CURDEPTH GE 0) | runmqsc QMNAME
  • DISPLAY QLOCAL(QE*):指定查询名称以QE开头的本地队列(QLOCAL是IBM MQ中本地队列的类型标识)
  • WHERE(CURDEPTH GE 0):筛选条件,包含所有队列深度≥0的队列(也就是所有匹配规则的队列,因为队列深度不可能为负数)
  • runmqsc QMNAME:连接到名为QMNAME的队列管理器,执行后续的MQSC命令

二、原生输出的问题解析

你提供的原生输出是runmqsc的默认格式,虽然信息完整,但队列名较长时会自动换行,导致队列名和深度的排版很零散,可读性打折扣:

5724-H72 (C) Copyright IBM Corp. 1994, 2023.
Starting MQSC for queue manager QMNAME.

     1 : DISPLAY QLOCAL(QE*) WHERE(CURDEPTH GE 0)
AMQ8409I: Display Queue details.
   QUEUE(QE.QUEUE.NAME1)          TYPE(QLOCAL)
   CURDEPTH(2)
AMQ8409I: Display Queue details.
   QUEUE(QE.QUEUE.NAME2)          TYPE(QLOCAL)
   CURDEPTH(90)
AMQ8409I: Display Queue details.
   QUEUE(QE.QUEUE.NAME.QUEUE.NAME.QUEUE.NAME3)
   TYPE(QLOCAL)                            CURDEPTH(1)
...

别担心,我们用文本处理工具就能轻松把它改成整齐的列表格式。

三、格式化输出优化方案

通过awk脚本可以自动提取队列名和深度字段,不管原生输出怎么换行,都能输出整齐的对应关系。直接执行以下命令即可:

echo "DISPLAY QLOCAL(QE*) WHERE(CURDEPTH GE 0)" | runmqsc QMNAME | awk '
# 每个队列块开始时,重置队列名和深度变量
/^AMQ8409I/ { queue="" ; depth="" }
# 提取QUEUE字段的纯名称,去掉前后括号
/QUEUE\(/ { 
    sub(/^QUEUE\(/,"",$0)
    sub(/\).*/,"",$0)
    queue=$0 
}
# 提取CURDEPTH字段的纯数字,去掉前后括号
/CURDEPTH\(/ { 
    sub(/^CURDEPTH\(/,"",$0)
    sub(/\).*/,"",$0)
    depth=$0 
}
# 当队列名和深度都获取到后,按固定宽度整齐打印
queue != "" && depth != "" { 
    printf "%-50s %d\n", queue, depth
    queue="" ; depth="" 
}
'

优化后的示例输出:

QE.QUEUE.NAME1                                  2
QE.QUEUE.NAME2                                  90
QE.QUEUE.NAME.QUEUE.NAME.QUEUE.NAME3            1
QE.QUEUE.NAME.QUEUE.NAME.QUEUE.NAME4            0
QE.QUEUE.NAME5                                  0
...

额外实用技巧

  • 要是只想看有消息堆积的队列(深度>0),把WHERE条件改成WHERE(CURDEPTH GT 0)就行
  • 要查询所有本地队列,把QLOCAL(QE*)替换成QLOCAL(*)
  • 想把结果存成报告文件?在命令末尾加 > queue_depth_report.txt就能导出到文件里

备注:内容来源于stack exchange,提问作者markfree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:44:30