jconsoleでLinuxサーバのTomcatをリモートプロファイル
クライアントマシン(Windows)からTomcatが動いているLinuxサーバ(CentOS)のプロセスをjconsoleで監視するための手順。
Tomcatの起動スクリプトに以下を追記
$ vi /etc/rc.d/init.d/tomcat export CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=9898(空いてるポート番号) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
Tomcatの起動
$ /etc/rc.d/init.d/tomcat start
jconsoleの起動
リモート接続を選択し、「サーバのIPアドレス:9898」で接続。
と、ここで接続できない問題が発生〜〜!!
サーバのポートを調べてみる
$ netstat -a | grep -w LISTEN : : tcp 0 0 :::8009 :::* LISTEN tcp 0 0 :::9898 :::* LISTEN tcp 0 0 :::8080 :::* LISTEN :
ポートは空いているので他の原因みたい。
FAQ JConsole とリモート管理
どうやら「hostname -i」コマンドで「127.0.0.1」や「hostname:unknown host」が帰ってくるとダメらしい。
というわけで、hostnameの設定をちゃんとします。
$ vi /etc/hosts 192.168.0.99 hoge.localdomain $ vi /etc/sysconfig/network HOSTNAME=hoge.localdomain $ /etc/rc.d/init.d/network restart
という感じでhostnameを更新。
$ hostname -i 192.168.0.99
ちゃんとhostnameコマンドでipアドレスも取得できるようになった。
あとはTomcat再起動&jconsole再接続するとちゃんと接続OKでしたばい