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

推薦する

Vueにおける混合継承の詳細な説明

目次混合継承の影響: 1. 継承Vue.extend メソッド​プロパティを拡張する2. ミックスイ...

MySQL をデプロイするときに発生する「テーブル mysql.plugin が存在しません」という問題の解決方法

今日、MySQL の無料インストール版をデプロイしたところ、テーブル 'mysql.plug...

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

Vue コンポーネント化の一般的な方法: コンポーネント値の転送と通信

関連する知識ポイント親コンポーネントから子コンポーネントに値を渡す子コンポーネントから親コンポーネン...

デザイン視点技術はデザイン能力の重要な資本である

ある設計士はこう尋ねた。「実際のプロジェクト制作には参加せずに、純粋に設計だけをすることはできますか...

TypescriptとAxiosに基づくインターフェースリクエスト管理の詳細な説明

目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...

CSSを使用して、頻繁に表示される奇妙なボタンを簡単に実装します。

背景グループでは、CSS を使用してインセット コーナー ボタンを実装する方法や、矢印付きのボタンを...

RHEL8 /CentOS8 でマルチノード Elastic Stack クラスターを構築する方法

一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、L...

MySQL データ分析ストレージエンジンの例の説明

目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...

vue3+electron12+dll 開発のためのクライアント構成の詳細な説明

目次リポジトリソースを変更する起動するvue-devtoolsを置き換える予防ボーダーレスウィンドウ...

React Native スキャフォールディングの基本的な使い方の詳細な説明

プロジェクトを構築する対応するパスでコマンドラインを実行します: react-native init...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

JavaScript ツールチェーンの不完全なガイド

目次概要静的型チェックコードスタイルチェック(Linter)パッケージマネージャーモジュールローダー...

MySQL8のパスワードを忘れた場合の簡単な解決策

序文MySQL データベースのパスワードを忘れると、データベースに正常にアクセスできなくなり、パスワ...

Alibaba Cloud ESC に MYSQL8.0 をインストールするチュートリアル

接続ツールを開きます。私はMobaXterm_Personal_12.1を使用します(公式サイトのダ...