jconsole, jvisualvm で JBoss4.2.3 をモニタリング

jconsole, jvisualvm で JBoss4.2.3 をモニタリングする方法について調べました。

JBoss4.2.3 については、JDK5 用のものは jboss-4.2.3.GA.zip、JDK6 用のものは jboss-4.2.3.GA-jdk6.zip だということなので、今回は JDK6 用を使ってみることにして、jdk1.6.0_43 を /usr/java/jdk1.6.0_43 へインストールしてあるとします。

下記のように jboss-4.2.3.GA-jdk6.zip を展開します。applicationsディレクトリはあらかじめ用意しておきましょう。

$ cd applications; unzip $HOME/download/java/jboss-4.2.3.GA-jdk6.zip

$HOME/applications/jboss-4.2.3.GA/bin/run.conf を編集して、下記を最終行に追加します。

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=127.0.0.1"
JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9994"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

起動します。

$ JAVA_HOME=/usr/java/jdk6 $HOME/applications/jboss-4.2.3.GA/bin/run.sh 

JBossが起動しているマシン上で接続するのは簡単にできます。jconsoleを起動して、localhost:9994へアクセスするだけです。JDK6から付属しているVisualVMは、jvisualvm というコマンドで実行できます。

$ JAVA_HOME=/usr/java/jdk6 PATH=/usr/java/jdk6/bin:$PATH jconsole
$ JAVA_HOME=/usr/java/jdk6 PATH=/usr/java/jdk6/bin:$PATH jvisualvm

VisualVMではJMX経由での接続もできます。ツールバーにあるJMX接続を使って localhost:9994 へアクセスします。

ファイアウォールを越えて、リモートマシンから接続するには、Componative – Monitor Your Applications With JConsole – Part 3に書いてあるように、クラスを作ったりする必要がありそうです。今は、JBoss7 がありますから、そちらを使うのが良いということですね…

同じタグの記事: Java
同じタグの記事: JBoss
同じタグの記事: JConsole
同じカテゴリの記事: Java
関連書籍: Java
関連書籍: JBoss