問題タブ [jconsole]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
10680 参照

java - JConsole を使用して weblogic サーバーにリモートで接続できない

JConsole を使用して、リモート マシンで実行されている weblogic サーバーを監視する必要があります。ちょうど今のところ、試している間、自分のマシンですべてをテストしています。つまり、自分のマシンでリモートで動作させようとしています。これが機能したら、サーバーで必要な変更を行いますが、アプリケーションはサーバーは他のユーザーに使用されています。変更を行ったり、サーバーを頻繁に停止/開始したりすることができません。そのため、私は自分の PC をサーバーとして使用し、JConsole を使用して「リモートで」接続しています。

環境: PC とサーバーの両方が WL 10.3 で実行されています。サーバーは Java Sun JDK 1.6.0_27 および Solaris OS で実行されており、私の PC は Java Sun JDK 1.6.0_26 および Ubuntu OS で実行されています。

JConsole を実行し、weblogic プロセスをクリックして、ローカルに接続できます。

アプリケーションの展開はかなり大規模で、いくつかのスクリプトを実行します。weblogic のドメインが作成されたら、次のプロパティを設定します。

また、ある時点でこのプロパティを追加します -Djava.rmi.server.hostname= --> localhost も 127.0.0.1 も使用していませんが、違いはありませんでした

次に、コンソールから jconsole -debug を実行し、次のサービス URL を使用してリモート オプションで接続を試みます (別のサービスを試します)。

1099 は rmiregistry が実行されるポートですが、rmiregistry & を使用して手動で開始する必要があります。そうしないと、そのポートはリッスンしません。

アプリケーションの実行中に netstat コマンドを実行すると、ポート 8080、8081 (SSL ポート)、および管理コンソールのポート (デフォルトの 7001 ではない) が表示されますが、ポート 22222 がリッスンしていません。私はそうすべきですよね?

weblogic.policy に以下を追加しました。

アプリケーションのデプロイ中にコンソールに次のように表示されます。

コネクタ サーバ アドレス = service:jmx:iiop://:8080/jndi/weblogic.management.mbeanservers.edit

Connector Server Address = service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc0AAtVbmljYXN0UmVmMgAACTEyNy4wLjEuMQAAxMelHYZki5P74FdoVWYAAAEzsm1U1oACAHg=

Conector JMX Ready in: service:jmx:rmi:///jndi/rmi://usuario-System-Product-Name:22222/jmxrmi

私もこれらのものを試してみましたが、うまくいきませんでした。

接続できる唯一の方法は、最初にpidを使用してローカルにアクセスし、コンソールでログに記録されているものと同様のサービスURLを取得することです。

service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc0AAtVbmljYXN0UmVmMgAACTEyNy4wLjEuMQAAgDBSpbjGvIybrBekgUYAAAEzsm9/YIASAHg=

私が接続できるリモートセクションでこのURLを使用すると、ログに記録されたものと似ていますが、同じではなく、動作しません。

-debug を使用したときに JConsole コンソールに表示されるエラーは次のとおりです。

コンソールに表示されるエラーのいくつかは、ランダムではありません.つまり、さまざまな URL を試したり、rmiregistry を手動で実行/実行していないときに、さまざまなエラーが表示されます。

注:私が使用したときは、172.xx.xxx.xxxを意味しています

私は何を間違っていますか?他に何を設定/確認/変更する必要がありますか?


さて、いくつかの変更を加えましたが、まだ機能させることができません。

私は

認証プロパティを false に変更し、java.rmi.server.hostname を追加しました。ADMIN_HOST は、コンピューターの IP 172.17.209.66 に設定された変数です。

JConsole でサービス URL を使用した場合: service:jmx:rmi:///jndi/rmi://172.17.209.66:22222/jmxrmi

次の例外が発生します

私のアプリケーションのログには、次のように表示されます。

Conector JMX Ready in: service:jmx:rmi:///jndi/rmi://usuario-System-Product-Name:22222/jmxrmi

/etc/hosts は次を示します。

172.17.209.65 usuario-System-Product-Name # NetworkManager が追加 127.0.0.1 localhost.localdomain localhost ::1 usuario-System-Product-Name localhost6.localdomain6 localhost6 127.0.1.1 usuario-System-Product-Name

それが、ip ではなく usuario-System-Product-Name が表示される理由ですか? コンピューターの IP をホスト名として設定しても?

私は両方のファイアウォールを無効にし、アレックスが提案したコマンドラインjmxツールを試してみましたが、うまくいきませんでした:-(

その他の提案/ヒント/ヘルプはありますか?

0 投票する
1 に答える
385 参照

java - JMX Mbean の監視方法

jconsole には、ターミナルでは機能しない GUI が必要です。端末で JMX 情報を取得するために使用できるツールはありますか?

0 投票する
1 に答える
299 参照

java - JMXでプリミティブでないデータ型を持つ属性を変更するにはどうすればよいですか?

jConsoleを介してjava.awt.Color属性を変更できるかどうか知りたいのですが。私はこのようなクラスを持っています:

このMBeanを実装します:

また、背景に別の値(たとえば、Color.GREENなど)を設定しようとすると、機能しません...しかし、背景のタイプを文字列に設定すると、機能します。

JMXで非プリミティブデータ型を変更することは可能ですか?

ありがとう :)

0 投票する
1 に答える
365 参照

java - ベンチマーク中に jconsole を tomcat に接続する

jmeterでベンチマークしている単純なスプリングアプリケーションがあります。

jconsole を使用してアプリケーションにフックできるようにするには、アプリケーションに対して何かを行う必要がありますか?

jconsoleは使ったことがありませんが、作成したオブジェクトの数やメモリ消費量、GCの挙動などが見れたらいいなと思います。

0 投票する
5 に答える
10924 参照

java - jconsoleをリモートサーバーに接続できません。Tomcatを起動できません。

jconsoleをリモートサーバーに接続しようとしています。

これをcatalina.shに追加しました:

catalina.outショー:

エラーメッセージでホスト名が繰り返される理由がわかりませんか?

ところで、認証をfalseに設定したので、jconsoleアプリで、ユーザー名/パスワードを空白のままにしますか、それともサーバーにログインするためのものですか?

0 投票する
1 に答える
159 参照

java - linuxbox の Jconsole

こんにちは、プロダクション Linux ボックスで JConsole を使用する必要があります。メモリ リークを分析できるように、HPOF ファイルを探している Mbean のダンプ ファイルのパスを指定する方法を知っている人がいます。

0 投票する
1 に答える
380 参照

java - kerberos を使用して jconsole で認証できますか?

kerberos を使用して jconsole で認証できるかどうかは誰にもわかりませんか? ブラウザーでマネージャーにアクセスすると正常に動作する kerberos 認証を使用して tomcat をセットアップしました。jconsole がクライアントの kerberos チケットを渡さないように見えるため、jmx ポートに接続しようとすると問題が発生します。誰かが私に何か指針を与えることができれば、大歓迎です。

ありがとう、エド。

0 投票する
2 に答える
2468 参照

tomcat - コマンド プロンプトで Tomcat JMX からサービス ステータスを取得する

インターネットで検索していて、最近必要なものを見つけました。しかし、それを使用するには違いがあります。コマンドでTomcatサービスの状態を知りたい。

また、Tomcat にはステータス コマンドがないと思います。だから、私はこれを見ました:

これをcatalina.shファイルの先頭に追加して実行すると、JConsole で JMX を使用できるようになります。しかし、私はコマンドプロンプトなので、GUI を使用できません。コマンドバージョンが必要です。

何かを探すには、次のように機能します。

そして結果を私に印刷してください...

私に何ができる?

0 投票する
4 に答える
20150 参照

jmx - Java jconsole jmx 接続の失敗

jconsole を以下によって呼び出される jvm に接続しようとしています。

次に、次のコマンドで jconsole を起動しようとします。

login.properties ファイルには以下が含まれます。

ポート 12700 へのソケットを開いた後、rmi は別のポートで接続を試みているように見えます。

リモート サーバーで ESTABLISHED 接続を確認できるため、最初の接続試行は成功します。

パケット トレースも、接続が成功したことを示します。

ポート 41096 への 2 番目の接続がタイムアウトになり、jconsole アプリケーションが「接続失敗」を報告し、最初の接続も終了します。2 番目の接続が試行されるのはなぜですか? この 2 番目の接続のポートを指定する方法はありますか? ターゲット サーバーは厳重に管理されており、他のポートはファイアウォール ルールによってブロックされています。複数回の接続試行では、2 番目のポートが異なるランダム値に変更されます。

助けてくれてありがとう、スティーブ