我可以在没有安全选项的情况下启动的Amazon EC2实例上将jconsole与tomcat连接,并使用以下CATALINA_OPTS
CATALINA_OPTS =“ - Dcom.sun.management.jmxremote =真 -Djava.net.preferIPv4Stack = true -Dcom.sun.management.jmxremote.port = 15000 -Dcom.sun.management.jmxremote.rmi.port = 15001 -Djava.rmi.server.hostname = XYZM -Dcom.sun.management .jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = true -Dcom.sun.management.jmxremote.password.file = $ CATALINA_HOME / conf / jmxremote.password -Dcom.sun.management.jmxremote.access。 file = $ CATALINA_HOME / conf / jmxremote.access -Xms150M -Xmx350M“
但是当我使用安全选项启动tomcat时,我无法从远程机器连接jconsole。
我在catalina.policy中为来自oracle链接的JMX添加了以下权限:https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/examples/Security/fine_grained/config/java.policy
如果我在catalina.policy中错过了关于jmx的一些权限,请帮助我。如果是,请发表评论。
机器上的Java版本: java版“1.7.0_65”
OpenJDK运行时环境(IcedTea 2.5.3)(7u71-2.5.3-0ubuntu0.14.04.1) OpenJDK 64位服务器VM(内置24.65-b04,混合模式)
Tomcat版本:tomcat-6.0.36
答案 0 :(得分:1)
这是它对我有用的东西 1)我选择1005作为jmx端口,我的setenv.sh就像:
CATALINA_OPTS =“$ CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 10005 -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.local.only = false -Djava.rmi.server.hostname = localhost“
2)使用ssh重定向jmx端口和rmi
3)使用以下uri运行Jconsole:service:jmx:rmi:/// jndi / rmi:// localhost:10005 / jmxrmi
如果您需要更多信息,请查看此帖子: http://ignaciosuay.com/how-to-connect-a-java-profiler-like-visualvm-or-jconsole-to-a-remote-tomcat-running-on-amazon-ec2/