告警知识库:IBM消息队列-队列深度报警
2023-05-28 18:16:25
报警描述
业务[XX业务],虚拟机[XXIP],位于[位置]IBM-Websphere-MQ|队列中心|队列信息|队列管理器名.队列名队列深度报警,队列深度为数字
举例:
业务[MQ123],虚拟机[192.168.0.1],位于[信息科]IBM-Websphere-MQ|队列中心|队列信息|GWO.XXXX.LQ队列深度报警,队列深度为2987
说明
IBM Websphere MQ 的队列深度相当于 RabbitMQ 的队列长度。当队列深度非0时,代表该队列产生了淤积。即队列中消息的发布速度高于消息的消费速度。这表明业务数据同步进度已经出现延迟。
监控对象
Linux操作系统
监控方式
Linux
对于Linux操作系统,通过监控代理读取代理信息。包括三个步骤:
(1)获取消息队列管理器
命令如下:
dspmq
输出示例:
QMNAME(GWI.QM) STATUS(Running elsewhere)QMNAME(GWO.QM) STATUS(Running)
其中,括号内的 GWI.QM,GWO.QM 为队列管理器名称。要获取队列管理器中的队列,需要通过 runmqsc 命令 + 队列管理器名称进入 mqsc 运行环境。
(2)获取队列名
命令如下:
runmqsc GWO.QMDISPLAY QUEUE(*)
输出示例:
DISPLAY QUEUE(*) 1 : DISPLAY QUEUE(*)XXXX: Display Queue details. QUEUE(AMQ.MQEXPLORER.XXXX) TYPE(QLOCAL)AMQ8409I: Display Queue details. QUEUE(AMQ.MQEXPLORER.XXXX) TYPE(QLOCAL)AMQ8409I: Display Queue details. QUEUE(GWO.XXX.DLQ) TYPE(QLOCAL)AMQ8409I: Display Queue details. QUEUE(OUT.XXX.LQ) TYPE(QLOCAL)AMQ8409I: Display Queue details. QUEUE(OUT.NO.DISTRIBUTION.LQ) TYPE(QLOCAL)XXXX: Display Queue details. QUEUE(OUT.PROC.ERROR.LQ) TYPE(QLOCAL)
在上面的输出中,QUEUE(AMQ.MQEXPLORER.XXXX) 括号里面的 AMQ.MQEXPLORER.XXXX 是队列名。要查询队列深度,需要传入队列名。
(3)获取队列深度
命令如下(查询队列OUT.XXXX.LQ的队列深度)
DISPLAY QSTATUS(OUT.XXXX.LQ) CURDEPTH
输出示例:
复制XXXX: Display queue status details. QUEUE(OUT.XXXX.LQ) TYPE(QUEUE) CURDEPTH(122)
上面的输出说明,队列OUT.XXX.LQ的队列深度为122.
规则
默认规则为:
[0<=队列深度<1000] 正常 [1000<=队列深度] 报警
可通过报警策略进行配置。