ここでは環境の準備については説明しませんが、Tomcatのjmxを直接設定します。 1. tomcatのbinディレクトリに入る
2. 設定ファイルを編集する
3. 下の画像の上にパラメータを追加します パラメータを追加した後の見た目 3.1. この構成では、jmx に接続するためにアカウントやパスワードは必要ありません。 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.ホスト名=192.168.100.117 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 設定後のスクリーンショット: パラメータの説明: ホスト名: Tomcatを監視するサーバーのIPアドレスです jmxremote.port: 開く監視ポート番号です jmxremote.ssl: SSL接続を有効にするかどうか authenticate: false は、監視にユーザー名とパスワードが必要ないことを意味します。 3.2. ユーザー名とパスワードを設定する必要があります。 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.ホスト名=192.168.100.117 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access" 設定後のスクリーンショット: パラメータの説明: authenticate: アカウント認証を有効にするには true access.file: 権限ファイルのパス password.file: パスワードファイルのパス 3.3. パスワード検証が設定されていない場合、この手順は不要です。ユーザーとパスワードの検証が有効になっている場合は、この手順が必要です。 3.3.1. JDKインストールディレクトリを見つける ディレクトリがインストールされている場所がわからない場合は、次のコマンドで見つけることができます。 # java -verbose 3.3.2. jdkディレクトリに切り替える # ファイルディレクトリにjmxremote.access jmxremote.password.templateファイルがあるので、それをtomcatのconfディレクトリにコピーします。 3.3.3. jmxremote.access ファイルを変更する 3.3.4. パスワードファイルの名前を変更します。 3.3.5 パスワードファイルの編集
3.3.6. ファイルを編集した後、アクセスファイルとパスワードファイルの権限を変更する必要があります。そうしないと、Tomcat が起動しません。 4. Tomcatを起動する [root@ha bin]# ./startup.sh CATALINA_BASE を使用: /opt/tomcat/apache-tomcat-8.0.48 CATALINA_HOME の使用: /opt/tomcat/apache-tomcat-8.0.48 CATALINA_TMPDIR を使用: /opt/tomcat/apache-tomcat-8.0.48/temp JRE_HOME の使用: /usr CLASSPATH の使用: /opt/tomcat/apache-tomcat-8.0.48/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.0.48/bin/tomcat-juli.jar Tomcatが起動しました。 4.1. 上記の操作を完了したら、JDK が提供する jvisualvm.exe を使用して Windows に接続し、テストします。 ダブルクリックしてjmx接続を開きます 4.2. tomcatを再起動してjmxが接続できるかどうかをテストします。 4.2.1. jmxに再度接続して接続できるかどうかを確認します データ監視チャートを表示できず、接続もできません なぜこの問題が発生するのでしょうか? オンラインで示された結論は次のとおりです。 Tomcat の jmx リモート ヘルスには 2 つのポートが必要です。1 つは登録ポートで、もう 1 つはサービス ポートです。以前に指定したポート 9999 は登録ポートです。Tomcat は起動時にサービス ポートをランダムに指定します。登録ポートは 1 つしかないため、サービスを再起動した後、登録ポートは変更されていませんが、サービス ポートは変更されています。登録ポートを介して再度接続すると、以前のサービス ポートに接続できなくなります。サーバー接続を指定する方法はなく、サービス ポートはランダムです。 1つの方法は、JMXの固定登録ポートとサービスポートを設定し、jarパッケージを介して実現することです。 5. Tomcat の公式サイトにログインします (私の Tomcat バージョンは 1.8.0 ですが、公式サイトでは 1.8.5 のみ使用できることに注意してください) ウェブサイト: https://tomcat.apache.org/ Tomcatのバージョンに応じてJMXリモートjarを見つけます 6. ダウンロードしたファイルをtomctaのlibディレクトリにアップロードします。 libディレクトリへのリンクを直接wgetしてjarパッケージを取得することもできます。 # wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/extras/catalina-jmx-remote.jar 7. tomcatのconfディレクトリにあるserver.xmlファイルを編集する
次のコンテンツを追加します。 <リスナークラス名="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" /> 8. tomcatのbinディレクトリにあるcatalina.shを編集する
パラメータを削除するには: -Dcom.sun.management.jmxremote.port=9999 9. Tomcat テストを再起動します。JMX 登録ポートは 10001、サービス ポートは 10002 です。 10. Tomcatを再起動して再度接続し、テストします。 以前に作成した jmx リモート接続をダブルクリックすると、接続できないことがわかります。これはなぜでしょうか。ここで、上記の接続の pid 番号に注意する必要があります。クエリを実行した後、この pid 番号は Linux の tomcat の pid 番号であることがわかりました。tomcat を再起動すると、新しい pid 番号が生成されるため、接続する場合は新しい接続を作成する必要があります。 11. 再度新しいjmx接続を作成すると、新しいpid番号が取得されます。 12. ここでテストは成功しました。したがって、zabbixを使用してjmxを使用してtomcatを監視する場合、tomcatの再起動やjmxポートが接続できないことを心配する必要はありません。 要約する 以上が編集者が紹介したTomcat経由でJMX監視を有効にするグラフィカルな方法です。皆様のお役に立てれば幸いです! 以下もご興味があるかもしれません:
|
<<: MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明
>>: Vue はインターフェースのスライド効果を実装します
目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...
目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...
ノードにおけるhttpの役割は何ですか? httpモジュールの役割は、サーバーの作成と記述を支援する...
ウェブサイトをデザインするにはインスピレーションが必要です。良いインスピレーションを得るには、より多...
404 を避けるべきだとどうして言えるのでしょうか? その理由は、ほとんどの 404 ページが粗雑す...
目次リナックス1. SWAPとは2. swappiness は何を調節しますか? 3. スワップ操作...
テキストファイルの内容を並べ替える使用方法: ソート + オプション + ファイル名 (複数のファイ...
ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...
原因かつて私は Vultr に WordPress を設定しましたが、よく知られている理由により、こ...
Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...
アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...
目次1. はじめに2. 解決すべきいくつかの重要な問題3.最後に書く1. はじめに最近、Cocos ...
リンク A のセマンティクス、ライティング スタイル、およびベスト プラクティス。私は JavaEy...
この記事では、JavaScriptでキャンバスを使用して座標と線を描く具体的なコードを参考までに紹介...
目次1. Flinkの概要1.1 基本的な紹介1.2 アプリケーションシナリオ2. 環境の展開2.1...