0
我刚开始使用JMX来监控activemq,我已启用远程监控。现在的问题是,我如何只允许localhost访问JMX API?或者有没有一种方法可以在不启用远程监控的情况下使用JMX API ..如何限制ActiveMQ的JMX API只能访问本地主机/内部网?
我刚开始使用JMX来监控activemq,我已启用远程监控。现在的问题是,我如何只允许localhost访问JMX API?或者有没有一种方法可以在不启用远程监控的情况下使用JMX API ..如何限制ActiveMQ的JMX API只能访问本地主机/内部网?
在花了几个小时的时间搜索一个解决方案之后,我遇到了这篇文章https://wiki.internet2.edu/confluence/display/CPD/Monitoring+Tomcat+with+JMX,它显示了如何为tomcat配置JMX以及如何公开JMX超过rmi。 选项“-Djava.rmi.server.hostname = test-idc.internet2.edu”表示运行tomcat的主机的名称。如果您不指定主机名,则尝试从远程机器连接会返回“连接失败”。
所有你需要做的是设置属性-Djava.rmi.server.hostname =本地主机在您的ActiveMQ启动脚本
if [ -z "$SUNJMX" ] ; then
#SUNJMX="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
SUNJMX="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=localhost"
fi
完蛋了... ActiveMQ的重启,你有JMX只能从访问你的本地机器。