同じシステム上で JMC から JVM に接続できます。ただし、リモートサーバーを監視したいです。ローカル JMC をリモート JVM に接続するにはどうすればよいですか?
4 に答える
ドキュメントにすべて説明されています。
1. [ヘルプ] -> [Java Mission Control ヘルプ] をクリックします。
2. JVM ブラウザーのヘルプを確認します。
詳細については、http:
//docs.oracle.com/javase/7/docs/technotes/guides/management/agent.htmlを確認してください。
まず、サーバーで外部 JMX エージェントを有効にする必要があります。これを行うには、関連する com.sun.management.jmxremote を、接続先のサーバー JVM のコマンド ライン フラグに追加します。使用できる一連のシステム プロパティの簡単な例を次に示します。これらはセキュリティと認証を無効にするため、本番環境では絶対に使用しないでください。
-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
次に、JMC でカスタム接続を作成します。これを行うには、JVM ブラウザーで [Create custom connection] ボタンをクリックします。
次のダイアログでは、ホストとポートを入力するだけです。
問題が発生した場合は、まず JMC に含まれているドキュメントの最後の章 (よくある質問) を確認してください。
それでも問題が解決しない場合は、JMC フォーラムに、より広範な FAQ があります: https://community.oracle.com/message/11182417#11182417。
私の環境は Linux の jboss 7.1 で、JMC を jboss インスタンスに接続しようとしていましたが、最初は接続が拒否されるという問題が発生しました。
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS"
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/apache/log4j/main/log4j-1.2.16.jar"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.rmi.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -XX:+UnlockCommercialFeatures"
JAVA_OPTS="$JAVA_OPTS -XX:+FlightRecorder"
サーバー{Ubuntu}で/etc/hosts
ファイルを編集します
127.0.1.1 server-name
上記の行をこの行に置き換えます
<system-ip> server-name