Как мне следить за Tomcat6 с помощью JVisualvm в Ubuntu Linux? - PullRequest
4 голосов
/ 14 июня 2011

Я пытаюсь настроить JVisualVm для мониторинга экземпляра Tomcat 6 (работает на Ubuntu Server 10.04 LTS).Я видел другие вопросы, но ни один из них напрямую не ответил на мою проблему.Я пытаюсь подключиться к Tomcat с помощью JVisualvm, и он возвращается с ошибкой «Не удается подключиться» - но к серверу устанавливаются TCP-соединения;сервер сбрасывает соединение после короткого потока трафика.

Я уже добавил это в / etc / default / tomcat6 и перезапустил tomcat6

# This enables JMX in order to permit VisualVM to profile the JVM.
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

Я запустил rmiregistry с настройками по умолчанию:

rmiregistry &

Я еще не начал jstatd;установка его на сервер требует полного JDK, который требует X библиотек.Я не собираюсь устанавливать X просто для того, чтобы получить один двоичный файл.

Интересно, если бы не запуск jstatd имел бы какое-то отношение к этому;У меня сложилось впечатление, что мне не нужны ни RMI, ни jstatd, если я могу использовать JMX напрямую через порт JMX.

Между сервером и клиентом JVisualvm и межсетевым экраном хоста iptables нет межсетевого экранаоткрыт.Использование jconsole приводит к той же ошибке.

Запуск JVisualVM на локальной машине Ubuntu 10.04 (с использованием его IP-адреса и порта JMX) и добавление экземпляра JMX работает нормально - и я не запускаю ни один rmiregistry nor jstatd - хотя монитор показывает запущенные потоки RMI.

Вопрос: Что я должен сделать (на сервере или на клиенте), чтобы иметь возможность контролировать Tomcat (и другие программы Java) черезJMX с JVisualVM?

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 15 июня 2011

Если брандмауэр отсутствует, попробуйте установить системное свойство java.rmi.server.hostname для вашего Tomcat. Добавьте это к JAVA_OPTS вашего Tomcat:

-Djava.rmi.server.hostname=<IP address of Ubuntu Server>

Вам не нужно запускать rmiregistry, и вам не нужно запускать jstatd, чтобы иметь возможность удаленного мониторинга вашего Tomcat.

0 голосов
/ 25 марта 2013

Для записи: jstatd не требует X библиотек, это зависит только от них через какой-то другой рекомендуемый пакет. Вы можете aptitude или apt-get пропустить установку рекомендуемых пакетов и установить jstatd без каких-либо библиотек X11.

Для aptitude, перейдите в параметры ➞ настройки ➞ Установите рекомендуемые пакеты автоматически. Для apt-get см. этот вопрос в askubuntu .

...