VisualVM über SSH
Habe ich gelesen Visual VM aus der Ferne über ssh aber ich glaube, ich habe nicht ganz verstanden, denn es war nicht für mich arbeiten 🙁 Bitte kann jemand geben einige Beispiel?
ssh -D 9696 [email protected]
und visualvm.exe -J-Dnetbeans.system_socks_proxy=localhost:9696 -J-Djava.net.useSystemProxies=true
beginnt visualvm, aber noch keine Verfahren der externen Maschine angezeigt werden (nur die einheimischen wie visualvm selbst). Zudem ist manchmal (aber nicht immer) bekam ich die Meldung "channel 3: open failed: connect failed: Connection refused" in meinen ssh-Fenster.
Hilfe?
InformationsquelleAutor der Frage bgraves | 2009-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie entweder führen Sie jstatd auf der remote-Seite, oder geben Sie eine JMX-Verbindung mit host:port.
Jstatd:
jstatd -J-Djava.security.policy=permissions.txt [-p port]
Danach: fügen Sie eine remote-Verbindung zum Zielcomputer, und auf die Eigenschaften, die remote-Verbindung konfigurieren der jstatd-Verbindung.
(permissions.txt enthält zum Beispiel diese:
Edit: (Antwort auf Kommentar)
ssh -D 9696 me@remote
und führen Sie jstatd wie oben auf dem remote-command-line. Wenn Sie möchten, jstatd auf einen anderen port als den Standard-1099, verwenden Sie das-p-argument zu jstatd.visualvm.exe -J-Dnetbeans.system_socks_proxy=localhost:9696 -J-Djava.net.useSystemProxies=true
auf der lokalen Maschinein visual vm: add new remote-Verbindung, und geben Sie als remote-host und den port für jstatd (1099 für das Standard-oder das, was Sie angegeben haben, mit "- p " beim ausführen von jstatd)
Sollten Sie jetzt sehen, wie die Prozesse auf der remote-Seite in visualvm
InformationsquelleAutor der Antwort ankon
Habe ich eine andere Lösung mit standard-SSH-tunneling und keine firewall-ports zu öffnen.
Für mich, SOCKS-proxy funktioniert nicht.
Start Ihrer JVM mit den Optionen:
-Dcom.Sonne.management.jmxremote=true
-Dcom.Sonne.management.jmxremote.ssl=false
-Dcom.Sonne.management.jmxremote.authenticate=false
-Dcom.Sonne.management.jmxremote.port=[port1]
-Djava.rmi.server.hostname=localhost
-Dcom.Sonne.management.jmxremote.rmi.port=[port2]
Der wichtigste Teil ist die "server.hostname=localhost". Zusätzlich, Sie explizit zu definieren beide ports (connect + "zufällige" RMI-port), "jmxremote.rmi.port" benötigt mindestens Java 7 update 4 (habe ich irgendwo gelesen, nicht zu überprüfen, diese info - verwenden Sie "lsof -i" auf Ihrem server-Computer zu überprüfen, die tatsächlich verwendeten ports).
(Natürlich können Sie die Authentifizierung oder SSL.)
Verbinden Sie sich via ssh auf dem server und leiten Sie Ihre lokalen port1 und port2 localhost:port1|2 die server.
In VisualVM öffnen Sie eine JMX-Verbindung zu localhost:port1 (ohne proxy-Einstellung).
InformationsquelleAutor der Antwort Thies
Hatte ich das Problem von jstatd-Bindung an localhost, also musste ich zu geben
auch für jvisualvm ich verwenden Sie diesen Parameter anstelle
diese Weise die Verbindung durch den ssh-proxy, die ich verwenden könnte, die echte ip-Adresse von meinem remote-Maschine.
Stehlen aus dieser Antwort machte ich mich ein voller Erinnerung an meine Website .. ich
hoffe du verzeihst mir ankon
Dank dafür übrigens 🙂
InformationsquelleAutor der Antwort Endeios
Ich hatte das gleiche Problem beim verbinden mit jVisualVM zu einer remote-Anwendung über ssh.
Dieses Tutorial half mir lösen mein Problem. http://issamben.com/how-to-monitor-remote-jvm-over-ssh/
Um dieses Problem zu lösen stellen Sie sicher, dass :
legen Sie zwei port in der jvm-Konfiguration
ssh-tunnel korrekt aufgebaut
InformationsquelleAutor der Antwort sam ben
Fand ich auch, dass die jvm-Argumente:
nicht die Arbeit auf dem Bau ich bin mit 1.3.2.
Deshalb habe ich die Extras > Optionen > Netzwerk, und legen Sie es manuell unter die SOCKEN-Einstellungen.
ABER VisualVM hat noch nicht finden, die remote-Prozesse. Ich dann entfernt die "No-proxy-hosts" hören "localhost", da diese wahrscheinlich blockiert es.
InformationsquelleAutor der Antwort Tarjei Romtveit
Fand ich, dass in der jvm-Argumente für den proxy nicht funktionieren. Zumindest in der version 1.3.3 (build 111013). Einstellung der proxy unter Extras > Optionen > Netzwerk für mich gearbeitet. Auch die systemweite proxy-Einstellungen arbeiten sollte, obwohl es per definition wirkt sich auf alle anderen Netzwerk-verbindungen.
InformationsquelleAutor der Antwort kgambrah
Versuchen, eine andere version der jvisualvm (z.B. das neueste von https://visualvm.github.io/download.html)
Konnte ich nicht die Arbeit mit jvisualvm, da es nicht aus den SOCKS-proxy (ich wollte nicht sehen, alles, was mit jvisualvm im ssh -v -D 9696). Remote-Anwendungen erschien nie in jvisualvm. VisualVM jedoch zeigte Sie nach einigen Sekunden.
InformationsquelleAutor der Antwort Thomas Rebele