ablog

不器用で落着きのない技術者のメモ

jconsole で Tomcat を監視する

Tomcat の設定手順

  • jmxremote.password に ID/PASS を設定する。
# cd $JAVA_HOME/jre/lib/management
# cp jmxremote.password.template jmxremote.password
# chown tomcat:tomcat jmxremote.password
# chmod 600 jmxremote.password
# vi jmxremote.password
 admin admin
  • jmxremote.access に以下の記述を追記する。
# vi $JAVA_HOME/jre/lib/management/jmxremote.access
admin         readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister
  • tomcat の起動スクリプトに -Dcom.sun.management.jmxremote.port、-Dcom.sun.management.jmxremote.ssl オプションを追記する。
# vi /etc/init.d/tomcat
start() {

...

    -Dcom.sun.management.jmxremote.port=3333 \
    -Dcom.sun.management.jmxremote.ssl=false \
  • tomcat を再起動する。
# service tomcat stop
# service tomcat start

jconsole から Tomcat をモニタリングしてみる。

  • 「C:\Program Files\Java\jdk1.6.0_18\bin\jconsole.exe」を起動する。
  • 接続情報を入力して[接続]を押下する。

  • こんな感じで Tomcat の状態が表示される。

TIPS

Tomcat の起動に失敗する場合は、$TOMCAT_HOME/logs/catalina.out を確認する。

  • tomcat 実行ユーザがパスワードファイルを参照できないとこのエラーがでる。
エラー: パスワードファイルを読み取ることができません。: /usr/java/default/jre/lib/management/jmxremote.password
27/03/2010 01:24:48 10451 jsvc.exec error: Service exit with a return value of 1
27/03/2010 02:50:09 3840 jsvc.exec error: Service exit with a return value of 1
エラー: パスワードファイルの読み取りアクセスは制限する必要があります。: /usr/java/jdk1.6.0_18/jre/lib/management/jmxremote.password