Debugging VisualVM remote-Verbindung

Ich verwende Tomcat 6 auf einem Linux-server in der Amazon cloud. Ich bin versucht, eine Verbindung mit VisualVM von meinem Mac in meinem Büro. Ich habe zugelassen, öffnete alle TCP-ports zwischen meinem desktop und dem server, aber ich bin nicht in der Lage zu bekommen, VisualVM, etwas zu tun.

Auf der linux-box habe ich begonnen, Tomcat mit:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

Auf meinem Mac starte ich VisualVM und wählen Sie "Datei" - > Neuer JMX-Verbindung...

Ich eingeben amazonhostname.com:9191 in der box. Es sagt "Hinzufügen amazonhostname.com:9191..." und setzt sich dort für mehrere Minuten, bevor eine Zeitüberschreitung Eintritt.

Von meinem Mac aus, kann ich "telnet amazonhostname.com 9191" ganz gut, und ich habe versucht, einige andere zufällige ports, und Sie alle arbeiteten. Ich bin ziemlich überzeugt, es ist kein firewall-Problem, es sei denn, ich brauche zum öffnen von UDP-oder ICMP-oder so ähnlich. (Wirklich??)

Es gibt nichts in der catalina.log auf dem server, oder die system-Konsole auf meinem Mac, im Zusammenhang mit jmx. netstat auf dem server zeigt, 9191 und einigen anderen offenen ports auf allen interfaces.

Gibt es keine jstatd auf dem remote-server. Ist, dass eine notwendige Voraussetzung für die JMX? (Ich bin Total neu in Java, und ich bin mir auch nicht sicher, was diese Dinge bedeuten, aber ich sah es auf einem blog-post irgendwo. Ich bin das greifen nach Strohhalmen jetzt.)

  • Bist du sicher, dass iptables nicht blockiert die Verbindung auf deinem linux-Rechner? EDIT: ich sehe, Sie können die telnet - okay, Streich das.
  • Die andere Sache, die Sie benötigen, zu betrachten, ist die RMI-hostname - werfen Sie einen Blick auf: stackoverflow.com/questions/9985293/...
  • Jstatd wird nicht benötigt. Als Greg vorschlug, versuchen Sie, fügen Sie -Djava.rmi.server.hostname=den.öffentlichkeit.ip auf dem Tomcat-JVM-Argumente.
  • Dank Tomas & Greg - rmi.server.hostname hat den trick. Ich bin in! Wenn einer von Euch will schreib dein Kommentar als Antwort, ich werde es akzeptieren.
  • Schreiben Sie eine Antwort
  • Antwort Hinzugefügt.

InformationsquelleAutor jsd | 2012-05-11
Schreibe einen Kommentar