0

JMXでJVMモニタリングを作成しました。MBeanサーバー接続を次のURLに接続します

     service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi

localhostを使用して機能しましたが、他のマシンのJVMに接続し、これも使用しました。

      service:jmx:rmi:///jndi/rmi://OTHER_SERVER_PORT:9999/jmxrmi

これは機能しません。これについて調べてみると、次のJVMオプションをターゲットマシンのJVMに追加するように指示されています。

   -Dcom.sun.management.jmxremote
   -Dcom.sun.management.jmxremote.port=9999
   -Dcom.sun.management.jmxremote.authenticate=false
   -Dcom.sun.management.jmxremote.ssl=false

では、上記のJVMオプションをどこに追加するのでしょうか。そして、JMXサービスURLを使用して他のマシンJVMに接続する方法は?これは私のサンプルクラスです

   public class JMXRemote {
      public static void main(String[] args) throws Exception {
          JMXServiceURL url = new JMXServiceURL(
            "service:jmx:rmi:///jndi/rmi://OTHER_PC_PORT:9999/jmxrmi");

          JMXConnector c = JMXConnectorFactory.connect(url);
          MBeanServerConnection mbsc = c.getMBeanServerConnection();

          Object o = mbsc.getAttribute(new ObjectName("java.lang:type=Memory"),
            "HeapMemoryUsage");
          CompositeData cd = (CompositeData) o;
          System.out.println(cd.get("committed"));
      }
  }
4

0 に答える 0