2010-08-11 22 views
1

Selon la documentation http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html#Enabling_JMX_Remote, il devrait être possible de surveiller à distance un serveur Tomcat 5.5 fonctionnant sur un JDK 1.4, mais après avoir effectué des recherches sur le Web et essayé plusieurs systèmes d'exploitation, je ne suis pas plus loin que sur jour un. Mes résultats jusqu'ici sont. Settign up Tomcat avec la normeTomcat 5.5 Surveillance avec JDK 1.4 sous Windows

-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 

fonctionnera sans aucun problème sur JDK 1.5 et plus. Le débogage dans Tomcat me donne accès au MBeanServer mais je ne suis pas capable de me connecter à l'extérieur. Selon les informations de Wikipedia http://en.wikipedia.org/wiki/Java_Management_Extensions J'ai juste besoin d'un connecteur de travail et je n'ai aucune idée de comment cela fonctionne.

Essayer de mettre en place l'adaptateur HTTP selon

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

n'a pas d'effet du tout. Quand j'ai débogué, il semblait presque que les attributs handler.list et mx. * Étaient simplement ignorés. Je sais que je devrais simplement utiliser JDK 1.5 et mes soucis disparaîtraient mais nous avons une base d'installation héritée importante de JDK 1.4 et ce serait génial si nous pouvions utiliser la surveillance JMX. Finalement, je veux utiliser soit JConsole ou jVisualVM pour vous connecter à Tomcat et pour autant que je l'ai compris l'URL de connexion ressemblerait

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

étaient 8888 est mon port JMX. Si quelqu'un a des conseils ou des idées sur la façon d'explorer la racine du problème, ce serait très utile.

+0

Selon ce http://download-llnw.oracle.com/javase/1.5.0/docs/guide/management/agent.html Je n'aurais même pas besoin de -Djava.rmi.server.hostname = option localhost. Et ça devrait marcher. Mais c'est pour Java 1.5 et non 1.4 donc l'aide est toujours appréciée – AGrunewald

+0

Avez-vous Tomcat fonctionnant sur une machine * nix? – vinothkr

+0

Oui vinothkr tomcat s'exécute * nix – AGrunewald

Répondre

-1

Avez-vous défini le serveur distant?

-Djava.rmi.server.hostname=localhost" 
+0

non ce n'est pas ça. même après avoir ajouté cela rien n'a changé. – AGrunewald

0

Si vous étiez en mesure de vous connecter à une machine virtuelle Java fonctionnant sur des machines Windows. Le problème est alors votre hosts.conf

Essayez le nom d'hôte -i si elle rapporte 127.0.0.1 alors il y a un problème

Cocher cette FAQ ne 5. http://download.oracle.com/javase/1.5.0/docs/guide/management/faq.html

Comme JMX utilise la redirection de port. Cela provoque un problème

1

Le support JMX a été ajouté à Java depuis la version 1.5 (JDK5). Pour l'utiliser avec JDK 1.4, une extension doit être téléchargée et installée http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp. Je did'n utilisé mais qui pourrait être un point de départ (de http://java.sun.com/developer/technicalArticles/J2SE/jmx.html)

JMX Technologie Implémentations

Java 2 Platform, Standard Edition 5.0 (J2SE 5.0) prend en charge JMX 1.2 et JMX Remote API 1.0 , qui est maintenant l'implémentation officielle de référence JMX (RI). Pour les développeurs qui exécutent J2SE 1.4, un JMX RI est également disponible auprès de Sun Microsystems et peut être téléchargé gratuitement.

Pour vous connecter de l'extérieur, essayez de supprimer la ligne

-Djava.rmi.server.= nom d'hôte localhost

Si que vous utilisez Linux, faites comme @vinothkr dit pour localhost résoudre problème sur JMX connexion à distance (fichier/etc/hosts, remplacez 127.0.0.1 par l'adresse IP du serveur sur la ligne où le nom d'hôte le serveur apparaît). Pour Windows, je pense que la même chose pourrait s'appliquer. A propos du connecteur, il s'agit du connecteur sur votre port distant jmx sur la documentation que vous avez lue. Le connecteur que vous avez configuré sur server.xml sur le protocole AJP/1.3 n'est pas lié. Cela concerne la communication entre Apache HTTPd (ou autre serveur Web/Load Balancer) et Tomcat.

+0

quelques bons points me permettent de les voir au cours des prochains jours. Je vous remercie – AGrunewald