Кто-либо когда-либо заставлял удаленный JMX JConsole работать?

115
задан Ral Zarek 17 May 2013 в 10:32
поделиться

5 ответов

Когда тестирование/отладка/диагностирование удаленный проблемы JMX, сначала всегда пытайтесь соединиться на том же хосте, который содержит MBeanServer (т.е. localhost), для исключения сети и других non-JMX определенных проблем.

2
ответ дан eljenso 24 November 2019 в 02:20
поделиться

Вы работаете на Linux? Возможно, агент управления связывает с localhost:

http://java.sun.com/j2se/1.5.0/docs/guide/management/faq.html#linux1

11
ответ дан Craig Day 24 November 2019 в 02:20
поделиться

Вы, вероятно, испытываете проблему с брандмауэром. 'Проблема' состоит в том, что порт, который Вы определяете, не является единственным используемым портом, это использует 1 или возможно даже еще 2 порта для RMI, и те, вероятно, заблокированы брандмауэром.

Один из дополнительных портов не будет, знают впереди, если Вы используете конфигурацию RMI по умолчанию, таким образом, необходимо открыть большой диапазон портов - который не мог бы развлечь администратора сервера.

существует решение, которое не требует открытия большого количества портов однако, я заставил его работать с помощью объединенных исходных отрывков и подсказок от

http://forums.sun.com/thread.jspa?threadID=5267091 - ссылка больше не работает

http://blogs.oracle.com/jmxetc/entry/connecting_through_firewall_using_jmx

http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html

, даже возможно установить ssh, туннелируют и все еще заставляют его работать:-)

19
ответ дан doz10us 24 November 2019 в 02:20
поделиться

Добавление -Djava.rmi.server.hostname = '' решило эту проблему для меня.

79
ответ дан 24 November 2019 в 02:20
поделиться

Я запускаю JConsole / JVisualVm в Windows, подключаюсь к tomcat под управлением Linux Redhat ES3.

Отключение фильтрации пакетов с помощью следующей команды помогло мне:

/usr/sbin/iptables -I INPUT -s jconsole-host -p tcp --destination-port jmxremote-port -j ACCEPT

где jconsole-host - это либо имя хоста, либо адрес хоста, на котором работает JConsole, а jmxremote-port - это номер порта, установленный для com.sun. management.jmxremote.port для удаленного управления.

1
ответ дан 24 November 2019 в 02:20
поделиться