web-dev-qa-db-ja.com

JBossEAPへのJConsoleリモート接続

サーバー上で実行されているリモートjbossインスタンスに接続しようとしています。次の接続URLを使用しています

service:jmx:remoting-jmx://90.214.64.170:9999

これを行うと、コンソールウィンドウに次の2つのエラーが表示されます

enter image description here

安全でないものを選択した後、私はこれを提示されます

enter image description here

Jconsole経由で接続する前に、jbossサーバーのbinディレクトリに移動し、./jconsole.shを実行して、コマンドラインに以下を出力しました。

CLASSPATH /usr/bin/Java/jdk1.8.0_11/lib/jconsole.jar:/usr/bin/Java/jdk1.8.0_11/lib/tools.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/remoting-jmx/main/remoting-jmx-1.1.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/remoting3/main/jboss-remoting-3.2.18.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1.2.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/xnio/main/xnio-api-3.0.7.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/xnio/nio/main/xnio-nio-3.0.7.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/sasl/main/jboss-sasl-1.0.3.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/marshalling/main/jboss-marshalling-1.4.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/marshalling/river/main/jboss-marshalling-river-1.4.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/cli/main/jboss-as-cli-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/staxmapper/main/staxmapper-1.1.0.Final-redhat-2.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/protocol/main/jboss-as-protocol-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/dmr/main/jboss-dmr-1.2.0.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/controller-client/main/jboss-as-controller-client-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/threads/main/jboss-threads-2.1.1.Final-redhat-1.jar

これを機能させるために他に何を試すことができるか(ポート9999も開いている)わかりませんが、これを解決するのに役立つアドバイスやヒントはありますか?

ありがとう

[〜#〜]編集[〜#〜]

私のstandalone.confファイルをこれに変更しました

#
# Specify options to pass to the Java VM.
#
if [ "x$Java_OPTS" = "x" ]; then
   Java_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
   Java_OPTS="$Java_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
   Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote"
   Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.port=9999"
   Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.ssl=false"
   Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.authenticate=false"
else
   echo "Java_OPTS already set in environment; overriding default settings with values: $Java_OPTS"
fi

私はまだ接続できません-上記と同じエラーで

6
Biscuit128

私は答えを見つけました-少なくとも解決策です。

新しいJBOSSリリースノートを読んだ後 ここ EAP6.3の場合次のことがわかりました。

復元されたServiceMBeanヘルパークラスorg.jboss.as.system-jmxモジュールは、ユーザーがMBeanを作成するのを支援する以前のバージョンのJBossEAPで利用可能なヘルパークラスを復元​​するために導入されました。

私たちが行ったのは、新しいスタンドアロンインスタンスをデプロイすることでした。6.3のクリーンインストールを行ってから、このガイドに従いました。

https://planet.jboss.org/post/jmx_connections_to_jboss_as

オプションのパラメーターを追加したり、standalone.shを変更したり、standalone.xmlを変更したりする必要はありませんでした。

誰かが間違った答えに対して5票を獲得しているようですが、これは賞金が授与されるためですか?!

5
Biscuit128

以下の手順に従って、JBossでリモートJMXモニタリングを有効にします

JBoss 4.2.3.GA

JBossのbinディレクトリにあるrun.confファイルを変更し、以下の行を追加します-

Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.port=<PORT>"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.authenticate=false"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.ssl=false"
Java_OPTS="$Java_OPTS -Djboss.platform.mbeanserver"
Java_OPTS="$Java_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"

JBoss 5.1.0.GA

JBoss 6.0バージョンで修正されたJBossの既存のバグ( https://issues.jboss.org/browse/JBAS-6185 )のため、JBoss5.1でJMXポートを設定できません。

JBoss 6.1.0.Final

JBossのbinディレクトリにあるrun.confファイルを変更し、以下の行を追加します-

Java_OPTS="$Java_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
Java_ARGS="$Java_OPTS -Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl"
JBOSS_CLASSPATH="../lib/jboss-logmanager.jar"

Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.port=<PORT>"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.authenticate=false"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.ssl=false"
Java_OPTS="$Java_OPTS -Djboss.platform.mbeanserver"
Java_OPTS="$Java_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
Java_OPTS="$Java_OPTS -Djava.rmi.server.hostname=<IP_ADDRESS>"

JBoss 7.1.1.Final

JBossのbinディレクトリにあるstandalone.confファイルを変更し、以下の行を追加します-

Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.port=<PORT>"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.authenticate=false"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote"
Java_OPTS="$Java_OPTS -Dcom.Sun.management.jmxremote.ssl=false"
Java_OPTS="$Java_OPTS -Djboss.platform.mbeanserver"
Java_OPTS="$Java_OPTS -Djava.rmi.server.hostname=<IP_ADDRESS>"
Java_OPTS="$Java_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:../modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar  -Xbootclasspath/p:../modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar -Xbootclasspath/p:../modules/org/Apache/log4j/main/log4j-1.2.16.jar"
Java_OPTS="$Java_OPTS -Djboss.modules.system.pkgs=org.jboss.logmanager"

注:要件に応じて変更してください。

参照:

https://community.jboss.org/wiki/JBossMBeansInJConsole

http://abh1sh3k.blogspot.in/2013/12/jmx-configuration-in-different-versions.html

12
SANN3

わかりました...これは私にとって本当に問題でした。JConsoleとJBossを異なるマシンでjaveした場合、Javaに付属のJConsoleを知っておくことが重要です。動作しません... JConsoleを使用しているマシンにJBossのコピーをダウンロードし、binフォルダーでjconsole.batファイル。

ここから取得しました: http://www.Java-redefined.com/2014/02/jboss-7-with-jconsole.html

5
imTachu

バージョン6.1の場合、デフォルトのポート番号に正しいポートオフセットが追加されていることを確認してください。9999がデフォルトであるため、リモートプロセスは次のもので動作するはずです。

service:jmx:remoting-jmx://90.214.64.170:(offsetnumber+9999)

どうやら、これはバージョン6.2で解決されました

0
aazeem

JBoss 6.2.0 EAP

JBoss 6.2 EAPでJConsoleを使用するには、クラスパスにいくつかのJARを追加して開始する必要があります。

ディレクトリ内/jboss-eap-6.2/bin/client次のようなREADMEファイルがあります:

JCONSOLEを実行するには:

jconsole -J-Djava.class.path=<PATH TO jconsole.jar>;<PATH TO tools.jar>;<PATH TO jboss-cli-client.jar>
0
Ispanico

リモート接続の場合は、アプリケーションレルムユーザーを作成する必要があると思います(add-user.shを使用します。これをリモートサーバー接続に使用するか、EJBリモートユーザーに使用するかについての質問に「はい」と答えましたが、厳密に必要)。

次に、それらの資格情報を使用してjconsoleに接続します。

これに関する私の経験は、ドメインモードで実行されているEAP6.2.4へのリモート接続にも限定されています。スタンドアロンサーバーへのリモート接続が同じになることを期待できます。ここでどちらを使用しているかは不明です。

また、CLIで次のコマンドを発行してポート4447を使用できるように変更しました。/profile=ha/subsystem=jmx/remoting-connector=jmx:add(use-management-endpoint=false)

また、JDK 8を使用しているように見えるため、問題には適用されませんが、JDK 7以降が必要であると思います(jconsoleの場合)。

ここで何かが役立つことを願っています!

0
dugshnay