Activemq开启JMX及问题排查

0.服务端开启JMX服务

 

  一.修改${ ActiveMQ_HOME} /conf/activemq.xml文件

  在<broker>标签中添加如下属性:useJMX="true"

   

 

  二.修改${ActiveMQ_HOME}/conf/activemq.xml文件

  将<managementContext>修改为如下配置:

    <managementContext>

           <managementContext createConnector="true" connectorPort="8899"/>

        </managementContext>

      三.修改/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。谢谢。

posted on 2016-10-28 15:48  Luis、Yang、  阅读(656)  评论(0编辑  收藏  举报

导航