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 でルートパスワードを変更する方法

推薦する

純粋な CSS 流星群の背景サンプルコード

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアルコード表...

impress.js プレゼンテーション層フレームワーク (デモツール) - 初めての体験

半年もブログを書いていなかったので、少し恥ずかしいです... 正月休みは、Dota をプレイしたり ...

Linux は、ディレクトリが存在するかどうかを判断するために if を使用します。

Linux で if を使用してディレクトリが存在するかどうかを判断する方法方法は次のとおりです。...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...

Docker で FastDFS をデプロイする方法

Dockerにfastdfsをインストールするディレクトリをマウント-v /e/fdfs/トラッカー...

Vue 円形パーセンテージ プログレスバー コンポーネントの機能の実装

必要な方はどなたでも参考にしてください。試してみて問題が見つかった場合は、メッセージを残してお知らせ...

MySQL 5.7 MGR シングルマスター決定マスターノード方式の詳細説明

当銀行のMGRは年末に開始されます。公式文書を読んだり、毎日テストを受けたりしなければなりません。毎...

Mysqlの日付と時刻関数を扱う記事

目次序文1. 現在の時刻を取得する1.1 現在の日付と時刻を返す1.2 現在の日付を取得する1.3 ...

Vue-cli4 ルーティング構成の詳細な理解

目次序文 - Vue ルーティング1. 最も基本的なルーティング構成1. router/index....

MySQL で期限切れのデータレコードを定期的に削除する簡単な方法

1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...

MySQL ページングの制限パラメータの簡単な例

Mysqlページングの2つのパラメータ ユーザー制限 1,2 から * を選択 1 は検索する最初の...

Vue2.0+ElementUI+PageHelperで実装されたテーブルページング機能

序文最近、いくつかのフロントエンド プロジェクトに取り組んでおり、ページにいくつかのテーブルを表示す...

乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...

Windows で MySQL データベースを別のディスクに移動する

序文今日、MySQL をインストールしたところ、データベース ストレージがデフォルトで C ドライブ...