0.服务端开启JMX服务
一.修改${ ActiveMQ_HOME} /conf/activemq.xml文件
在
二.修改${ActiveMQ_HOME}/conf/activemq.xml文件
将
三.修改/etc/hosts文件
[root@localhost activemq]# vi /etc/hosts
修改如下内容(将127.0.0.1改成本机IP):
四.服务重启
sh ${ActiveMQ_HOME}/bin/activemq restart //重启命令
sh ${ActiveMQ_HOME}/bin/activemq start //启动命令
sh ${ActiveMQ_HOME}/bin/activemq stop //停止命令
五.验证JMX是否开启
netstat –antlp | grep java
1.JConsole连接服务
windows环境请打开DOS控制台,输入"jconsole"命令。(快捷方式:Win+R,输入"jconsole"也行)
回车会打开如下页面:
由于我们需要调试远程的AMQ服务器,所以选择”远程进程“。
第一栏输入如下内容:” service:jmx:rmi:///jndi/rmi://IP:8899/jmxrmi “ IP请换成远程AMQ服务器的IP。由于AMQ的部署采用的主备方式,对外只有一台服务。上面红色粗体IP换成主的IP(如何判断是那台对外? :::可以通过在浏览器中输入 " http://IP:8161/ "[IP同上所述],如果能打开console表示为主),
我们AMQ的JMX没有开启用户认证。用户名/口令空着即可。
输入完成点击“连接” ,跳转到如下窗口:
点击“不安全”。
我们主要了解MBean这块。通过了解我们可以掌握一些基本问题的排查。比如当前Queue有多少条消息。已经消费多少,多少未消费等等信息。
点击“MBean”,如下窗口:
排查消息是否ActiveMQ接受到(由于采用VirtualTopic的方式,Topic最后被转换成一个个的Queue,Queue的命名格式:xxxx.Consume Group : Topic Name)。
点击属性可以查看当前broker的信息,点击操作会调用方法,慎用!!!!!
关于一些属性的含义,其实通过属性的英文命名可以看出一些信息。如:AverageMessageSize 平均消息大小; 命名一目了然。
我们可以通过ActiveMQ 自带Console取排查, 但是Console加载的并没有Jconsole齐全,但是基本的可以查询出只是不完整。如果查看更细节的信息,请使用Jconsole。谢谢。