Wenn die anderen Fragen zu diesem Thema überprüft, aber bisher keine Lösung. Hier ist mein Setup: TC6 läuft auf einem debian vm auf meinem MacBook. in /etc/default/tomcat6.0 haben folgende I Optionen:Immer noch kann Tomcat 6 per VisualVM nicht remote verbinden
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
netstat -ntlp gibt mir:
tcp6 0 0 :::8080 :::* LISTEN 6550/java
tcp6 0 0 :::8086 :::* LISTEN 6550/java
Wo 6550:
root 6550 3.3 6.8 224888 52984 pts/0 Sl 10:31 0:43 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6.0/conf/logging.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/usr/share/tomcat6.0/common/endorsed -classpath :/usr/lib/jvm/java-6-sun/jre//lib/jcert.jar:/usr/lib/jvm/java-6-sun/jre//lib/jnet.jar:/usr/lib/jvm/java-6-sun/jre//lib/jsse.jar:/usr/share/tomcat6.0/bin/bootstrap.jar:/usr/share/tomcat6.0/bin/commons-logging-api.jar -Dcatalina.base=/var/lib/tomcat6.0 -Dcatalina.home=/usr/share/tomcat6.0 -Djava.io.tmpdir=/var/lib/tomcat6.0/temp org.apache.catalina.startup.Bootstrap start
Firewall:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
Wenn ich versuche, von OSX usin verbinden g jvisualm: - einen neuen Host mit dem Hostnamen meiner vm Hinzufügen (hinzugefügt, um es zu/etc/hosts) -
VisualVM irgendwie eine neue JMX-Verbindung hinzu:
Cannot connect using service:jmx:rmi///jndi/rmi://<vmhostname>:8086/jmxrmi
Wenn ich eine Verbindung zu meiner VM mit ssh -X
und jvisualvm auf dem gleichen Rechner starten, auf dem Tomcat läuft, sehe ich zunächst nicht TC, aber ich kann die jmx-Verbindung wie oben hinzufügen.
Könnte dies ein Problem sein, wenn ausländische Hosts mysteriös daran gehindert werden, auf die Rmiregistrierung zuzugreifen? Warum sollte jemand so eine dumme Sache machen?
Was mache ich falsch?
(sorry 4 der langen Pfosten)
RMI öffnet andere, dynamische Ports als auch (und die Standard-JMX-Verbindung verwendet RMI). Das macht es schwer, eine Firewall zu tunneln und korrekt zu konfigurieren. Grundsätzlich wurde es nie entworfen, um irgendwo anders als ein weit geöffnetes Netz zu laufen. Da ich keine konkreten Details angeben kann, habe ich diesen Kommentar geschrieben. –
Danke Joachim. Eigentlich verwirrt mich das Firewalling-Zeug. Da es auf einer VM auf meinem lokalen Rechner läuft, habe ich die Firewall-Funktion vollständig deaktiviert (siehe oben). Sie sagen, dass die Verwendung von RMI der Standard ist. Hast du noch andere Ideen wie man einen Remote Tomcat mit Visualvm überwachen kann? – er4z0r
danke @JoachimSauer, dass mein Problem gelöst – austin