JBoss EAP 6 GA のドメインモードでモニタリングをリモートから行いたいがクライアントで接続エラーとなる

投稿者: Anonymous

現象

WindowsクライアントからJBoss EAPで稼働しているJVMをJConsoleから監視したいが、service:jmx:remoting-jmx://サーバーIP:4447へ接続できませんでした となる。
サーバー上でポートを確認 netstat -ano | grep 4447 し、ポートが開いていることを確認している。firewallは開発環境であるため無効にしている。

手順

RedHat Customer Portal – ドメインモードで JConsole から JBoss に接続する の手順に従い、JBossの設定を変更した。
JBossはリモートのサーバー上(linux 64bit)で動作しており、クライアントはWindows 10 64bit。
クライアントのJDK(1.8)に含まれるjconsole.exeを実行し、
ログインは service:jmx:remoting-jmx://サーバーIP:4447 を指定し、ユーザーID/パスワードを指定した。

解決

JConsoleがJMXへ接続する方法がベンダ固有のものとなるため、JConsoleに対してライブラリを指定しなくてはなりません。

batファイル等でJBossのライブラリを指定することで接続可能になる。

set JBOSS_HOME=jbossのインストールディレクトリ
set JAVA_HOME=JREへのパス
set CLASSPATH=%JAVA_HOME%libjconsole.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%libtools.jar
set CLASSPATH=%CLASSPATH%;%JBOSS_HOME%binclientjboss-cli-client.jar
%JAVA_HOME%binjconsole -J-Djava.class.path=%CLASSPATH%

参考資料: Remote JMX access to WildFly using JConsole

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *