Tomcat 5.5 Мониторинг с JDK 1.4 в Windows

Согласно этой документации http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html должна быть возможность удаленного мониторинга сервера Tomcat 5.5, работающего на JDK 1.4, но после поиска по всей сети и попытки Несколько ОС я до сих пор не дальше, чем в первый день. Мои результаты пока таковы. Установите Tomcat со стандартом

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=%my.jmx.port% 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=localhost

будет работать без проблем на JDK 1.5 и выше. Отладка в Tomcat дает мне доступ к MBeanServer, но я не могу подключиться к нему извне. Согласно информации из Википедии http://en.wikipedia.org/wiki/Java_Management_Extensions мне просто нужен работающий соединитель, и я понятия не имею, как это работает.

Попытка настроить HTTP-адаптер в соответствии с

<Connector port="${AJP.PORT}" 
            handler.list="mx" 
            mx.enabled="true" 
            mx.httpHost="${JMX.HOST}"
            mx.httpPort="${JMX.PORT}"
            protocol="AJP/1.3" />

не имеет никакого эффекта вообще. Когда я отлаживал, казалось, что атрибуты handler.list и mx.* Просто игнорируются. Я знаю, что должен просто использовать JDK 1.5, и мои опасения исчезнут, но у нас есть большая база устаревших версий JDK 1.4, и было бы здорово, если бы мы могли использовать мониторинг JMX. В конце концов я хочу использовать JConsole или JVisualVM для подключения к Tomcat, и, насколько я понимаю, URL-адрес подключения будет выглядеть

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

были 8888 мой порт JMX. Если у кого-то есть какие-либо советы или идеи о том, как углубиться в корень проблемы, это будет очень полезно.

3 ответа

Поддержка JMX была добавлена ​​в Java с версии 1.5 (JDK5). Чтобы использовать его с JDK 1.4, необходимо загрузить и установить расширение http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp. Я не использовал его, но это может послужить отправной точкой (из http://java.sun.com/developer/technicalArticles/J2SE/jmx.html)

Внедрение технологий JMX

Платформа Java 2, Standard Edition 5.0 (J2SE 5.0) поддерживает JMX 1.2 и JMX Remote API 1.0, которая теперь является официальной эталонной реализацией JMX (RI). Для разработчиков, использующих J2SE 1.4, JMX RI также доступен от Sun Microsystems и может быть загружен бесплатно.

Для подключения извне попробуйте убрать линию

-Djava.rmi.server.hostname= локальный

Если вы используете Linux, сделайте так, как сказал @vinothkr для решения проблемы localhost при удаленном соединении JMX (файл /etc/hosts, замените 127.0.0.1 на IP-адрес сервера в строке, где отображается имя хоста сервера). Я думаю, что для Windows применимо то же самое.

Что касается разъема, это разъем вашего удаленного порта jmx в документации, которую вы прочитали. Соединитель, который вы настроили на server.xml по протоколу AJP / 1.3, не связан. Это касается связи между Apache HTTPd (или другим веб-сервером / балансировщиком нагрузки) и Tomcat.

Если вы смогли подключиться к JVM, работающему на компьютерах с Windows. Тогда проблема в вашем hosts.conf

Попробуйте hostname -i, если он сообщает 127.0.0.1, то есть проблема

Проверьте этот FAQ № 5. http://download.oracle.com/javase/1.5.0/docs/guide/management/faq.html

В качестве JMX используется перенаправление портов. Это вызывает проблему

У вас есть удаленный сервер определен?

-Djava.rmi.server.hostname=localhost"
Другие вопросы по тегам