java activemq jmx_ActiveMQ消息中间 使用JMX穿透过防火墙进行监控

无防火墙下activemq的JMX配置:

1、修改activemq.xml

路径:${ACTIVEMQ_HOME}/conf/activemq.xml

Broker节点,增加属性useJmx="true"

managementContext节点,修改createConnector改为true,增加jmx端口属性:connectorPort="11099"

2、修改jmx用户名密码配置

默认用户名密码:admin/activemq

可通过以下文件增删用户名密码和权限:

配置用户名和权限:${ACTIVEMQ_HOME}/conf/jmx.access

配置用户名和密码:${ACTIVEMQ_HOME}/conf/jmx.password

3、修改启动文件activemq

路径:${ACTIVEMQ_HOME}/bin/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"

按照以上配置后,服务器开启防火墙,并且开放了11099端口,发现还是不能正常监控activemq,而且telnet 11099端口是通的,出现这个问题的原因可以参考:

需要修改activemq的JMX配置如下:

1、${ACTIVEMQ_HOME}/bin/activemq 只保留

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Djava.rmi.server.hostname=$服务器的ip"

2、${ACTIVEMQ_HOME}/conf/activemq.xml 配置如下:

这里配置了两个端口,一个是jmx端口,另一个是rmi端口。

说明:之前的配置方案,只配置了jmx端口,rmi端口是随机的;而防火墙只开放了jmx端口,没有开放rmi端口,并且对于随机的rmi端口,是无法配置防火墙规则的故在此配置方案基础上,再增加一个12099(rmi端口)的防火墙入站规则,即可进行访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值