0

次のCATALINA_OPTSを使用して、セキュリティオプションなしで開始されたAmazon EC2インスタンスで、jconsoleをtomcatに接続できます

CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -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 に接続できません。

以下のオラクル リンクから、JMX のcatalina.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

4

1 に答える 1

1

これが私にとってうまくいったことです1)jmxポートとして1005を選択し、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/

于 2016-09-07T14:29:32.720 に答える