ActiveMQ的远程监控之JMX设置

为了能够使用JMX监控远程的ActiveMQ以及使用JMX API以编程的方式操作ActiveMQ,我们需要对ActiveMQ进行配置,以使JMX能够正确连接到远程的ActiveMQ监控服务。我的环境如下:

ActiveMQ所在的服务器:

1.Linux之CentOS 6.5

2.ActiveMQ5.10

JMX所在的客户端

1.Windows7

2.JDK7.0

 

首先,需要在ActiveMQ所在的服务器检查hosts文件的设置

 

cat /etc/hosts

 需要使用该命令查看,如果为下面的值:

 

 

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

 改成服务器实际IP,例如

 

 

172.168.3.230 localhost localhost.localdomain localhost4 localhost4.localdomain4

 

 

 

其次,我们需要对ActiveMQ进行配置

2.配置activemq.xml文件

2.1 配置broker节点

 

 

 

注意useJmx属性,默认是没有的。

 

2.2 配置managementContext节点

 


            

 注意将createConnector改为true,加上connectorPort属性。

 

 

3. 设置ActiveMQ的jmx.access和jmx.password文件

3.1 设置jmx.access文件

 

monitorRole readonly
controlRole readwrite

 添加上面两行值,表示角色及其权限

 

 

3.2 设置jmx.password

monitorRole test1234
controlRole test1234

 设置角色以及密码

 

4.修改ActiveMQ的启动配置

4.1 修改activemq启动文件

先查找看看有没有ACTIVEMQ_SUNJMX_START的key,如果有则修改,如果没有则之间在文件最后添加

ACTIVEMQ_SUNJMX_START的key值如下:

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"

 

5.重新启动ActiveMQ

 

6.JMX连接

6.1 在命令行输入jconsole

6.2 在远程连接项输入

(1)AvtiveMQ所在服务器IP:11099,例如

 

172.168.3.230:11099

 (2)或者输入监控服务URI

 

service:jmx:rmi:///jndi/rmi://ActiveMQ所在服务器IP:11099/jmxrmi

 例如:

 

service:jmx:rmi:///jndi/rmi://172.168.3.230:11099/jmxrmi

 

你可能感兴趣的:(ActiveMQ)