jconsole を使用してリモート Tomcat サービスを監視する方法

jconsole を使用してリモート Tomcat サービスを監視する方法

JConsoleとは

JConsole は Java 5 で導入されました。 JConsole は、コマンド ラインまたは GUI シェルから実行できる組み込みの Java パフォーマンス アナライザーです。 JConsole (または、より高度な VisualVM) を使用すると、Java アプリケーションのパフォーマンスを監視し、Java でコードをトレースすることが簡単にできます。

1. リモートサーバーのアドレスと利用可能なポート番号を取得する

私は自分のAlibaba Cloudホストを使用しています。サーバーアドレスは39.107.68.142、ポート番号は8696です。

ポート番号が使用可能かどうかを確認します: netstat -tunlp|grep 8696



6969 は使用されており、8696 は使用されていないことがわかります。

プロセスが開始されたポートを表示する

netstat -antup |grep 32594

ポート監視ステータスを確認する

lsof -i:1234

2. Tomcatの起動スクリプトを変更してJMXを有効にする

catalina.shスクリプトファイルを変更し、ファイルの先頭に追加します。

JAVA_OPTS="-Djava.rmi.server.hostname=39.107.68.142 -Dcom.sun.management.jmxremote.port=8696 -Dcom.sun.management.jmxremote.rmi.port=8696 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

-Dcom.sun.management.jmxremote.port=9696 //接続ポート。既存のポートと競合しないようにカスタマイズします。

-Dcom.sun.management.jmxremote.rmi.port=8696 //この文を追加する必要があります。追加しないと成功しません。

-Dcom.sun.management.jmxremote.authenticate=false //ログインにパスワードは不要

-Dcom.sun.management.jmxremote.ssl=false //セキュリティ証明書は必要ありません

-Djava.rmi.server.hostname=39.107.68.142 //このIPはサーバーの外部IPです

位置:

3. Tomcatサービスを再起動する

Shutdown.sh を使用してサービスをシャットダウンすると、次のエラーが報告される場合があります: エラー: JMX コネクタ サーバー通信エラー: service:jmx:rmi://dusk:8696

心配しないでください。-9プロセス番号をkillするだけです。

プロセスを表示します: ps -ef|grep tomcat

次にサービスstartup.shを起動します。

netstat -tunlp|grep 8696を使用して、ポートがすでにリスニング状態になっているかどうかを確認します。

4. ポート番号を開く

ファイアウォールをオンにしている場合は、ファイアウォールでこのポートを開く必要があります。

ファイアウォールのステータス、サービスの iptables ステータスを表示する

開いているポート:

(1)vi /etc/sysconfig/iptablesでファイルを編集し、次の行を追加します:-A INPUT -p tcp -m tcp --dport 8889 -j ACCEPT
(2)/etc/init.d/iptables restartコマンドを実行してiptablesサービスを再起動する

Alibaba Cloud ホストの場合は、セキュリティ グループでポートを開く必要もあります。

5. ローカルのjconsoleを開いてリモートサービスを監視する

リモートプロセスに入力: 39.107.68.142:8696 [接続]をクリックします

次にJVMの権限ステータスを確認します

要約する

上記は、編集者が紹介した、jconsole を使用してリモート Tomcat サービスを監視する方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Java Maven プロジェクトが jconsole-1.8.0.jar および tools-1.8.0.jar パッケージを見つけられない問題を解決します。
  • JDK14パフォーマンス管理ツールJconsoleの使い方の詳しい説明
  • Idea+Jconsole に基づいてスレッド監視手順を実装する
  • jconsole の紹介 (画像とテキスト)
  • JConsole を使用して Java プログラムの動作を観察および分析し、トラブルシューティングとチューニングを実行する方法
  • Java JConsole リモート接続構成ケースの詳細な説明

<<:  jsでライトスイッチの効果を実現

>>:  MySQL 5.7 でルートパスワードを変更する方法

推薦する

Linux マルチスレッドにおけるフォークとミューテックス ロック プロセスの例

目次質問: 1. 最初の試み2. 合理的な分析3. 問題解決(1) pthread_join()の使...

Vue が Web オンラインチャット機能を実現

この記事では、Webオンラインチャットを実装するためのVueの具体的なコードを参考までに紹介します。...

ページング効果を実装するミニプログラム

この記事の例では、ページング効果表示を実現するためのミニプログラムの具体的なコードを参考までに共有し...

nginx でのリクエストのカウント追跡の簡単な分析

まずは適用方法を説明します。nginxモジュールにはjtxyとjtcmdの2つがあります。 http...

dl、dt、dd はいつ使用するのが適切ですか?

dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...

JavaScript クロージャの詳細

目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...

MySQL max_allowed_pa​​cket 設定

max_allowed_pa​​cket は、受け入れるパケットのサイズを設定するために使用される ...

LinuxでHomebrewを使用する正しい方法

多くの人が Linux Homebrew を使用しています。これをより良く使用するための 3 つのヒ...

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

JavaScript の非同期処理で待機時間を節約できますか?

JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...

純粋な CSS3 でペットの鶏のサンプルコードを実現

最近、CSS3に関する知識や記事をたくさん読んできましたが、CSS3はとても便利に使えると思います。...

docker cp ファイルをコピーしてコンテナに入る

実行中のコンテナに入る # コンテナに入り、新しいターミナルを開きます# docker exec -...

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

Navicat 8でMySQL用のデータベースを作成する方法

ウェブサイトを開発する場合、データを保存するためにデータベースを使用する必要があることがよくあります...

mysqlのkey_lenの計算方法についての簡単な説明

MySQL の explain コマンドは SQL のパフォーマンスを分析できます。その 1 つが ...