8

リモート JBoss 7.1 サーバーがあり、VisualVM または JConsole を使用してこのサーバーに接続したいと考えています。

私は少しグーグルで、VisualVMまたはJCoonsoleを使用してJBoss 7.1に接続する方法に関するいくつかのスレッド/チュートリアルを見つけました。

残念ながら、JMX 経由で JBoss 7.1 に接続できませんでした。

VisualVM を使用して JBoss 7.1 に接続する方法はありますか?

編集: -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false を standalone.conf.bat に追加しましたが、例外が発生しました: 原因: java.lang.IllegalStateException: LogManager が正しくインストールされていません (「java.util.logging.manager」システム プロパティを「org.jboss.logmanager.LogManager」に設定する必要があります)。

そこで、JAVA_OPTS に別のオプションを追加しました。私が受け取る例外はこれです:

Could not load Logmanager "org.jboss.logmanager.LogManager"
java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
4

4 に答える 4

3

コマンド シェルを開いて「netstat -a」と入力すると、JMX ポート 1090 で何かがリッスンしていることがわかりますか? そうでない場合は、JBOSS の設定を確認する必要があります。

https://community.jboss.org/thread/171346?start=0&tstart=0

于 2013-10-02T11:12:34.460 に答える
3

VM の代わりに JBOSS JMX に直接接続できます (JAVA_OPTS を変更する必要はありません)。

standalone.xml に次の構成があることを確認してください (JMX サブシステムがアクティブ)

スタンドアロン モード (リッスン ポート 9999):

<subsystem xmlns="urn:jboss:domain:jmx:1.1">  
  <show-model value="true"/>  
  <remoting-connector />  
</subsystem> 

ドメイン モード (リッスン ポート 4447)

<subsystem xmlns="urn:jboss:domain:jmx:1.1">  
  <show-model value="true"/>  
  <remoting-connector use-management-endpoint="false"/>  
</subsystem>

次に、少しハックする必要があります。JBoss JMX 実装は少し特殊であるため、JVisualVM のクラスパスにいくつかの jboss lib を含める必要があります。

  • ファイル$JBOSS_HOME/bin/jconsole.sh/jconsole.batを取得し、同じディレクトリ内の jvisualvm.sh / jvisualvm.bat にコピー/名前変更します。

  • -cp:a "$CLASSPATH"次に、代わりに使用して、jvisualvm ごとに jconsole への実行可能呼び出しを置き換えます-J-Djava.class.path="$CLASSPATH"

スクリプトを使用して visualVM を起動し、次の URL を使用して新しい JMX 接続 (ファイル メニュー) を追加しますservice:jmx:remoting-jmx://hostname:port(資格情報は管理領域の資格情報です)。

注意: JMX ポートに直接アクセスできない場合は、ssh トンネルを検討してください。

于 2014-11-05T16:39:17.660 に答える
1
  1. JVM オプションを run.conf に追加します (run.conf.bat) JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management .jmxremote.ssl=false -Dcom.sun.management.jmxremote"

  2. Visual VM コンソールで、リモート ホストを開きます。JMX 接続を追加し、ポート番号を <9999> として指定します。

于 2014-04-16T18:27:13.783 に答える