ActiveMQ远程监控(一):JMX等基础配置

目前项目用到了ActiveMQ (v5.6.0),但是所在产品线暂时还没有专职的AMQ运维团队,只有Dev兼任OP,为了随时知晓线上情况,晚上能放心睡个好觉,我们需要自己去监控AMQ。

本文简单分享一下相关的基础配置:

1.AMQ broker配置(AMQ_HOME/conf/activemq.xml)

启用jmx,useJmx="true"

2.AMQ启动脚本配置(AMQ_HOME/bin/activemq)

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=61000"
#ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"
#ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.authenticate=false"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"
#注意:-Dcom.sun.management.jmxremote,不要被名字所欺骗,就算我们把注释打开,也并没有enable AMQ的远程访问,真正发挥作用的是
-Dcom.sun.management.jmxremote.port=61000


3.主机hosts文件配置(/etc/hosts)

完成前两项配置后,我们就可以尝试用jconsole按以下方式去测试连接:

jconsole :

但是这个时候可能会fail,问题在于RMI会获取AMQ实例所在主机的hostname,然后通过/etc/hosts文件找到hostname对应的ip。所以,需要确认AMQ所在主机的hosts文件中,有一行记录能把hostname映射到真实的ip。比如,当前我的主机名为ubuntu,关联ip为127.0.0.1

127.0.0.1       ubuntu

显然,我们不能用回环地址去连接远程的服务,所以需要把127.0.0.1改为真实的ip。


你可能感兴趣的:(ActiveMQ)