jvisualvm для удаленного хоста

Я хочу использовать удаленную функциональность jvisualvm, чтобы просматривать живую статистику удаленной JVM. Я запустил jvisualvm со своего компьютера с Windows, но не знаю, как настроить удаленное соединение.

On the remote machine (OS: Redhat Linux), tomcat is started with below jmx parameters:
-Dcom.sun.management.jmxremote"
-Dcom.sun.management.jmxremote.port=3030"
-Dcom.sun.management.jmxremote.authenticate=false"
-Dcom.sun.management.jmxremote.ssl=false"

netstat -lnp| grep 3030
tcp  0  0 0.0.0.0:3030  0.0.0.0:*   LISTEN   30728/java

ssh-соединение открыто для удаленного сервера, и я туннелировал удаленный порт 3030 на определенный локальный порт, но когда я создаю новое соединение jmx (localhost:localport) в jvisualvm, я получаю следующую ошибку

Не удается подключиться к локальному хосту: 10000 с помощью службы: jmx:rmi:///jndi/rmi://localhost:10000/jmxrmi

Может ли кто-нибудь помочь мне создать соединение?


person AndreiF    schedule 03.04.2014    source источник


Ответы (1)


Прежде всего, если вы устанавливаете удаленное соединение, соединение с локальным хостом не имеет смысла.

Вам нужно запустить jstatd на удаленной машине. Для этого создайте файл jstatd.all.policy в домашнем каталоге вашего удаленного компьютера и добавьте следующие строки:

grant codebase "file:${java.home}/../lib/tools.jar" {   
    permission java.security.AllPermission;
};

Затем в командной строке вашего удаленного компьютера введите 'jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname={Ваш IP-адрес}'

Как только служба jstatd запускается на удаленном компьютере, вы в основном добавляете IP-адрес удаленного подключения в пользовательский интерфейс jvisualVM, используя добавление удаленного хоста.

Документы Oracle для JvisualVM можно найти по адресу https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/applications_remote.html, но понять шаги jstatd действительно сложно.

person Mohit Hapani    schedule 07.11.2017