通過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