JConsoleでリモートのTomcatプロセスを監視する

スポンサーリンク

JConsoleを使ってリモートのTomcatプロセスを監視する方法を紹介します。

自宅などの安全な環境での利用を想定しています。

スポンサーリンク

Tomcatを設定する

Tomcat/bin/setenv.shに以下の設定を追加します。実際は改行せずに各パラメータを半角スペースで区切って入力します。

JAVA_OPTS="$JAVA_OPTS
 -Dcom.sun.management.jmxremote
 -Dcom.sun.management.jmxremote.port=8111
 -Dcom.sun.management.jmxremote.authenticate=false
 -Dcom.sun.management.jmxremote.ssl=false"

各パラメータの意味は次の通りです。

  • -Dcom.sun.management.jmxremote:機能を有効にします。
  • -Dcom.sun.management.jmxremote.port=8111:ポート8111でJConsoleからの接続を待ち受けます。
  • -Dcom.sun.management.jmxremote.authenticate=false:認証機能をオフにします。
  • -Dcom.sun.management.jmxremote.ssl=false:SSLをオフにします。

設定を追加したらTomcatを再起動しておきます。

ファイアウォールを設定する

ファイアウォールでは次のポートが使用できるようにします。

  • 指定したポート
  • 指定したポートから65535までのポート
$ firewall-cmd --add-port=8111-65535/tcp --permanent
success
$ firewall-cmd --reload
success

JConsoleから接続する

設定が完了したら早速JConsoleから接続します。

リモートプロセスに「IPアドレス:指定したポート」と入力して、接続ボタンをクリックします。この時、ユーザ名とパスワードは未入力で構いません。

Tomcatに接続できない時は?

JConsoleの接続を待ち受けているか確認する

指定したポートで接続待ちとなっているか確認しましょう。

$ ss -ltpn | grep 8111
LISTEN 0      50           0.0.0.0:8111       0.0.0.0:*    users:(("jsvc",pid=463379,fd=13))                                                                    

ファイアウォールの設定が正しいか確認する

ファイアウォールで使用するポートがブロックされていないか確認しましょう。

$ firewall-cmd --list-port
22/tcp 80/tcp 161/tcp 161/udp 443/tcp 8111-65535/tcp
プログラミング
スポンサーリンク
スポンサーリンク
未完成ラボ

コメント

タイトルとURLをコピーしました