Как подключиться к экземплярам Java, работающим на EC2, используя JMX

У нас проблемы с подключением к нашим Java-приложениям, работающим в кластере Amazon EC2. Мы определенно разрешили оба «порт JMX» (который обычно является порт реестра RMI)а также порт сервера (который выполняет большую часть работы) для группы безопасности для рассматриваемых экземпляров. Jconsole подключается, но кажется зависает и никогда не показывает никакой информации.

Мы запускаем нашу Java с чем-то вроде следующего:

java -server -jar foo.jar other parameters here > java.log 2>&1

Мы попробовали:

Telnets к портамсоединять но информация не отображается.Мы можем запуститьjconsole на самом экземпляре, использующем remote-X11 через ssh, и он подключается и показывает информацию. Так что JREявляется экспортировать его локально.Открытие всех портов в группе безопасности. Weeee.С помощьюtcpdump чтобы убедиться, что трафик не идет на другие порты.Имитация это локально. Мы всегда можем подключиться к нашим локальным JRE или к другим в нашей сети, используя те же параметры приложения.

java -version выходы:

OpenJDK Runtime Environment (IcedTea6 1.11.5) (amazon-53.1.11.5.47.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Кроме того, мы используем мойПростой JMX пакет, который позволяет нам установитьобе Реестр RMI и порты сервера, которые обычно выбираются регистром RMI полуслучайно. Вы также можете вызвать это с помощью следующего URI JMX:

service:jmx:rmi://localhost:" + serverPort + "/jndi/rmi://:" + registryPort + "/jmxrmi"

В наши дни мы используем один и тот же порт как для сервера, так и для реестра. В прошлом мы использовалиX в качестве порта реестра иX+1 для порта сервера, чтобы упростить правила группы безопасности. Вы подключаетесь к реестру-порту вjconsole или любой клиент JMX, который вы используете.

Ответы на вопрос(4)

Ваш ответ на вопрос