IBM MQ监控工具已开源,参见:
https://github.com/zollty/IBM-MQ-Monitoring-Script
1、检查连接数
1)底层网络连接检测方法
netstat -tnp | grep amqrmppa | wc -l
或
netstat -tn | grep :14 | wc -l
2)IBM MQ tool检测
dspmqtrn -a | grep "TranNum(" | wc -l
参考文档:https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.adm.doc/q083270_.htm
备注:上面的 grep :14 实际上是下面的简写:
netstat -tn | grep :1417 | wc -l
其中1417为listener的port,可以先用:netstat -tn,确定一下是不是这个端口。
也可以用下面的MQSC命令查询:
用dis listener(*)查询到名称name,假设为QMEMBFE
然后 dis lsstatus(QMEMBFE),即可看到port字段
2、检查日志文件大小
方法:du -sh /var/mqm/errors
3、监控工具
https://www.ibm.com/developerworks/websphere/library/techarticles/1311_jin/1311_jin.html
https://github.com/search?q=ibm+mq+monitor
常用技巧
查看IBM MQ安装信息和版本,命令:dspmqver
总结:
1、IBM MQ提供了许多C语言编写的命令行tools,位于安装目录下的bin下面。
具体用法参见官方文档(IBM WebSphere MQ Control commands):https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.adm.doc/q083010_.htm
2、MQSC是一个IBM MQ内置的命令行界面,输入runmqsc xxx(队列管理器名称)后进入,在里面可以执行类似于SQL的命令。
具体语法参见官方文档(MQSC reference):
https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.adm.doc/q085090_.htm
查看活动队列的方法(如下,根据文件日志和size确定,szie大的说明是主要队列)
ls -lh /var/mqm/qmgrs/*/queues
IBM MQ日志路径:
1、当队列管理器名称已知,并且队列管理器可用时,错误日志位于
$MQM/qmgrs/qmname/errors 目录下,如:与MQ通道有关的消息。
2、当队列管理器不可用时,错误日志位于
$MQM/qmgrs/@SYSTEM/errors 目录下(通常,@SYSTEM目录为空)
3、当错误是与Client应用程序有关(MQ系统错误),错误日志位于:
$MQM/errors目录下
基础概念
MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。
队列
最重要的部分,用来存放、取出消息。
通道
WebSphere® MQ 使用两种不同类型的通道:
1、消息通道,它是两个队列管理器之间的单向通信链路。WebSphere MQ 使用消息通道在队列管理器之间传送消息。 要双向发送消息,您必须定义每个方向的通道。
2、MQI 通道,它是双向通道,用于将应用程序(MQI 客户机)连接至服务器上的队列管理器。WebSphere MQ 使用 MQI 通道在 MQI 客户机和队列管理器之间传送 MQI 调用和响应。
查看队列管理器
dspmq -o all
往队列中放消息
/usr/mqm/samp/bin/amqsput QName(队列名) QmgrName(队列管理器名)
从队列中取出消息
/usr/mqm/samp/bin/amqsget QName QmgrName
运行MQSC()
runmqsc xxxx(队列管理器名称)
MQSC用法如下:
查看“通道channel:
DISPLAY CHANNEL(*)
查看”队列queue
DISPLAY Q(*)