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でしたばい