通过JMX来监控管理ActiveMQ
1、修改ActiveMQ的配置文件activemq.xml
- <broker useJmx="true" persistent="true" brokerName="broker-master" xmlns="http://activemq.apache.org/schema/core">
使其useJmx属性为true,默认的jmx端口号为1099,可以通过设置managementContext的相关属性来修改。
2、修改ActiveMQ的启动文件bin/activemq
- ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099"
- 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.ssl=false"
- ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"
- ACTIVEMQ_SUNJMX_CONTROL="--jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi --jmxuser controlRole --jmxpassword abcd1234"
开启远端JMX端口11099,这里的端口与activemq.xml里面配置的jmx端口号(默认是1099)不能重复。
3、修改口令文件并设置口令文件的权限,否则启动activemq时会报错误
jmx.access
- admin readwrite
- monitorRole readonly
- controlRole readwrite
jmx.password
- admin activemq
- monitorRole abc123
- controlRole abcd1234
修改配置文件的权限:
- sudo chmod 600 /opt/activemq/conf/jmx.password
- sudo chmod 600 /opt/activemq/conf/jmx.access
4、修改/etc/hosts文件
把127.0.0.1替换为本机IP,例如:
- # 127.0.0.1 vm-108 localhost.localdomain localhost
- 10.10.18.108 vm-108 localhost.localdomain localhost
使用sudo ./activemq consoel启动activemqmq时会在控制台打印日志
启动activemq,查看jmx服务是否正常
5、打开jconsole.exe,在连接画面中填入服务器地址:
远程地址可填入:
- 10.10.18.108:1099
- 或者
- service:jmx:rmi:///jndi/rmi://10.10.18.108:1099/jmxrmi
用户名:controlRole
密码:abcd1234
连接成功后的管理画面
本文参考了:
http://blog.csdn.net/lucett/article/details/7024756