web-dev-qa-db-ja.com

サーバーでJMXポートを見つける方法

Java OPTSパラメータが表示されるかどうかを確認できます。Jconsoleを使用してhornetqサーバーを監視したいので、ポート番号が必要です。

しばらく前に接続したときに、Java grepなどのようなコマンドを使用したことを覚えています。

22
user244333

プロセス番号がわかっている場合は、 netstat を使用して、プログラムが次のようなポートでリッスンしているポートを見つけることができます。

$ netstat -apn | grep <proc num>

JMXリスナーの従来のポートは1099です。

29
matt b

私はそれが古い投稿であることを知っています。システムから詳細を取得することもできます。

String jmx1 = System.getProperty("com.Sun.management.jmxremote");
String jmx2 = System.getProperty("com.Sun.management.jmxremote.port");
String jmx3 = System.getProperty("com.Sun.management.jmxremote.authenticate");
String jmx4 = System.getProperty("com.Sun.management.jmxremote.ssl");
String jmx5 = System.getProperty("Java.rmi.server.hostname");
13
Tristan Everitt

JVMコマンドライン設定からポートを手動で設定することもできます。例:

-Dcom.Sun.management.jmxremote=true
-Dcom.Sun.management.jmxremote.port=1616
-Dcom.Sun.management.jmxremote.authenticate=false
-Dcom.Sun.management.jmxremote.ssl=false
4
Steve Smith

そのようにJVM引数にプログラムでアクセスする

import Java.lang.management.ManagementFactory;
import Java.lang.management.RuntimeMXBean;
...       
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();
2
Matt Ball