我刚刚开始使用JMX来监控activemq,我已经启用了远程监控。现在的问题是,如何只允许localhost访问JMX API?或者有没有一种方法可以在不启用远程监控的情况下使用JMX API。
发布于 2009-10-01 09:03:01
在花了几个小时用谷歌搜索解决方案之后,我偶然看到了这篇文章https://wiki.internet2.edu/confluence/display/CPD/Monitoring+Tomcat+with+JMX,它展示了如何为tomcat配置JMX,以及如何在rmi上公开JMX。选项"-Djava.rmi.server.hostname=test-idc.internet2.edu“表示运行tomcat的主机的名称。如果不指定主机名,则尝试从远程计算机连接时会返回“连接失败”。
您所需要做的就是在您的activemq启动脚本中设置属性-Djava.rmi.server.hostname=localhost
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。
https://stackoverflow.com/questions/1495882
复制相似问题